Id
속성을 FluentNHibernate
을 사용하여 리플렉션을 통해 내 엔티티 클래스에서 매핑하려고합니다.반사에 의한 매핑 ID 속성
내 엔티티 :
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();
}
}
나는이 예외를 수신하고 있습니다 :
마법처럼 16,{ "신원 유형이 통합 될해야합니다 (
public abstract class BaseEntity { public int Id { get; set; } } public class Entity : BaseEntity { public string Name { get; set; } }
좋아, 내 매핑 클래스는 위처럼 int, long, uint, ulong) "}
나는 EntityMapping
클래스의 ID 속성을지도 ...
Id(model => model.Id, "Id")
.GeneratedBy.Identity()
.Not.Nullable();
이의 작품. 그러나 첫 시도는 효과가 없습니다.