ActiveRecord Options
ActiveRecordBase- Useful if you want ActiveRecord support in a separate class from your entity.
ActiveRecordBaseEntity - Useful if want 1 class to have both Entity and ActiveRecord support.
** NOTE:
This is really your personal preference and therefore 2 different ActiveRecord classes are supplied.
There is a 3rd way to get ActiveRecord functionality using Extension classes to provide CRUD
Create, Update, Delete, Retrieve methods as extension methods on the entity.
ActiveRecordBase
This will give you only ActiveRecord functionality without extending from Entity.
This basically means you will have 2 classes:
1 Class to represent the Entity as in "User".
1 Class to represent the ActiveRecord features as in "Users".
ActiveRecord Support
- Create
- Retrieve
- Update
- Delete
- Get
- GetAll
- FindXXX
Example:
public class User : Entity
{
...
}
public class Users : ActiveRecordBase
{
...
}
...
User user = new User("kishore");
Users.Save(user);
ActiveRecordBaseEntity
This derives from Entity so you get both the Entity functionality and the ActiveRecord functionality
This will allow you to have both ActiveRecord features and entity features in one class.
ActiveRecord Support
- Create
- Retrieve
- Update
- Delete
- Get
- GetAll
- FindXXX
Entity Support:
1. Persistance Fields:
- Id
- CreateDate
- UpdateDate
- CreateUser
- UpdateUser
2. Validation Support:
- IsValid
- Validate()
- Errors
Example:
public class User : ActiveRecordBaseEntity
{
...
}
User user = new User("kishore");
User.Save(user);