the statuses of the data objects
The statuses of the data objects can be:
ObjectStatus.UnAlteredobject data is not changed.
ObjectStatus.Created— a data object created.
ObjectStatus.Alteredobject data changed.
ObjectStatus.Deleted— data object deleted.
The object status can be ascertained by the method of the data object
GetStatus and set —
SetStatus. Status allows you to determine exactly what changes were made to the data object.
Altered can be calculated automatically at the time you call
GetStatus. This requires the class of the data object attribute to the attribute
AutoAltered. If this attribute is not assigned, then set status
Altered programmer must perform» «manually. You should carefully use this opportunity to remember that the installation
AutoAltered slows down because each time the status of the real test object properties data on the change. Default
There is a possibility not to be recalculated after the status of the established
AutoAltered, it is necessary to call the method
To check if the attribute
AutoAltered by using Information
Test to modify the properties of a custom type
If the data object contains the properties of a custom type (e.g., type of Money), then the default value comparison of an attribute of the object itself and copy data will be made through the implementation of this attribute to a string by
ToString() and then comparing strings. Not for all types the approach is correct and works fast, so there is a
IComparableType interface that contains method for comparison. If a custom type inherited from the type the comparison is not to be through strings, and calling a special method contained in the interface. It is recommended to use this interface, all user attribute types.
download Status of the data object
The loading state of the data object:
LoadingState.NotLoadedobject data is not loaded.
LoadingState.Loaded— proofread all native attributes of the data object, all the artisans of the first level, all dealove the first level.
LoadingState.LightLoadedobject data is partially loaded, the details can be clarified by calling object methods GetLoadedProperties and CheckLoadedProperty.
The download status can be ascertained through the method
GetLoadingState and set —
Features of relationship status and download status
Below are some features of the relationship between status and status of the download of data objects:
- When a data object is created, it always
NotLoaded Created(the same thing happens when you call the Clear method). If the object
NotLoaded, it can only be
- If the object has a status
Loaded/LightLoaded, it under no circumstances cannot have the status of
- Object does not happen
- In a special way processed status and the download status of the object when it is refreshed.
- If you need to move the object from state to state
Altered, it is enough to call the method
SetLoadingState(LoadingState.LightLoaded)thereby putting that object in the database is present. More correct way is to call
SetExistObjectPrimaryKey(object primaryKey)is not only indicates that the object in the database is present, but immediately sets the right key of the object in the database.
- Method to set the status of the data object DataObject.SetStatus() has special logic that is triggered when the switching status.
|Set The \ Old||UnAltered||Created||Altered||Deleted|
|UnAltered||UnAltered||Created||UnAltered||if are not loaded are Created, UnAltered otherwise|
|Created||Created ** Are Not Loaded Are**||Created ** Are Not Loaded Are**||Created ** Are Not Loaded Are**||Created ** Are Not Loaded Are**|
|Altered||Altered||Created||Altered||Created if are not loaded are otherwise Altered|