使用POCO和流利的NHibernate,我想有能力拿一個像User這樣的對象並且能夠賦予它不同的屬性。我希望這些對象能夠專注於它們的屬性,而不是常見屬性。目前,我有一個AuditableEntity,可以從中派生出來讓我的實體擁有像CreatedDateTime和ModifiedDateTime這樣的Audited屬性,但是我也希望能夠爲每個對象實現我的ID,Id應該能夠成爲其他基礎對象的一部分,所以我可以說這個對象有一個Guid Id,而且這個對象有一個int id,而這個id沒有。目前,我的用戶對象是這樣的:流利的NHibernate裝飾實體
User.cs
namespace ZeroBase.Domain.Entities
{
public class User : AuditableEntity<User>
{
public virtual Guid Id { get; set; }
public virtual string Username { get; set; }
public virtual string Password { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string EmailAddress { get; set; }
public virtual IEnumerable<Comment> Comments { get; set; }
}
}
和我的用戶映射是這樣的:
UserMap.cs
namespace ZeroBase.Infrastructure.Data
{
public class UserMap : AuditMap<User>
{
public UserMap()
{
Id(x => x.Id)
.Column("Id")
.GeneratedBy.Guid();
Map(x => x.Username);
Map(x => x.Password);
Map(x => x.FirstName);
Map(x => x.LastName);
Map(x => x.EmailAddress);
HasMany(x => x.Comments);
Table("Users");
}
}
}
反正是有處理在某種通用基類中創建Id,並且仍然有一個單獨的類,對象可以繼承它以成爲可審計的?
這樣做!謝謝您的幫助! –