我试图用我的实体类映射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();
它的作品就像一个魅力。但第一次尝试不起作用。