0
我想從一個身份類與流利NHibernate映射一個Id。從身份類與流利NHibernate映射Id
Identity類:
public interface IValueObject<T> {
bool SameValueAs(T other);
}
[Serializable]
public class Identity<TEntity> : IValueObject<Identity<TEntity>> {
public long Id { get; protected set; }
public Identity(long id) {
this.Id = id;
}
protected Identity() { }
public bool SameValueAs(Identity<TEntity> other) {
return other != null && this.Id == other.Id;
}
}
型號:
public interface IEntity<T> {
Identity<T> Identity { get; }
bool SameIdentityAs(T other);
}
public class Employee: IEntity<Employee> {
public virtual Identity<Employee> Identity { get; set; }
public virtual string Name { get; set; }
}
我怎樣才能映射這個員工?這樣是不行的,我建的SessionFactory當出現以下情況例外: 無法在課堂上找到屬性「ID」吸氣「僱員」
public class EmployeeMap : ClassMap<Employee> {
public EmployeeMap() {
Id(x => x.Identity.Id).GeneratedBy.Native();
Map(x => x.Name);
}
}
有沒有可能使用另一個ID戰略和包裝(身份類)? –
Dani
2012-08-17 14:48:13
也許使用'assigned'(即你的代碼負責在保存之前分配它),將包裝器映射爲一個複合ID ......但是,我認爲對於可疑的好處,你會遇到很多麻煩。 – 2012-08-17 16:58:43