我試圖用我的實體類映射Id
屬性和反射使用FluentNHibernate
。由反射映射Id屬性
我的實體:
public abstract class BaseEntity
{
public int Id { get; set; }
}
public class Entity : BaseEntity
{
public string Name { get; set; }
}
好吧,我的映射類是像上面:
public class BaseMapping<E> : ClassMap<E>
{
public BaseMapping(string schema, string table)
{
Schema(schema);
Table(table);
Id(model => typeof(E).GetProperty("Id", typeof(int)), "Id")
.GeneratedBy.Identity()
.Not.Nullable();
}
}
public class EntityMapping : BaseMapping<Entity>
{
public EntityMapping() : base("dbo", "Entities")
{
Map(model => model.Name, "Name")
.Length(50)
.Insert().Update()
.Not.Nullable();
}
}
我收到此異常:
件{「身份類型必須是完整的( int,long,uint,ulong)「}
當我地圖上EntityMapping
類的Id屬性...
Id(model => model.Id, "Id")
.GeneratedBy.Identity()
.Not.Nullable();
它的作品就像一個魅力。但第一次嘗試不起作用。