Inheritance Hierarchy
Namespace:
Aloe.SystemFrameworks.Domain.DataAccess
Assembly:
Aloe.SystemFrameworks.Domain (in Aloe.SystemFrameworks.Domain.dll) Version: 20.1.3.5
Syntaxpublic abstract class RowProvider
Public MustInherit Class RowProvider
public ref class RowProvider abstract
[<AbstractClassAttribute>]
type RowProvider = class end
The RowProvider type exposes the following members.
Properties
| Name | Description |
---|
 | Id |
Gets the Id of the row.
|
 | IsAttached |
Gets a value indicating whether the row is attached.
|
 | RequiresDefaultValues |
Gets a value indicating whether the row provider requires default values to be set.
|
 | Row |
Gets the row.
|
 | RowState |
Gets the state of the row.
|
Top
Remarks
The main objective of
RowProvider is to provide properly initialized
IBufferRow.
Usually, derived domain objects require storage in a separate row from the ancestor object.
To avoid complicated row initialization, the objects use
RowProvider.
Examples
public class Activity: Document
{
RowProvider ActivityRowProvider;
public Activity(Guid id):base(new LoadByIdGetterRowProvider(Table, () => ActivitiesRepository.DocumentIdAttrbute.GetValueForRow(ActivityRowProvider)))
{
ActivityRowProvider = new LoadByIdRowProvider(Table, id);
}
public Activity(ObjectTransaction transaction):base(transaction)
{
ActivityRowService = new NewRowProvider(Table);
}
public Activity(RowProvider row):base(row.GetReferencedRowProvider(ActivitiesRepository.DocumentReference))
{
ActivityRowProvider = row;
}
//...
public void SomeFunc()
{
var x = ActivityRowService.Row;
//...
}
}
See Also