Fluent NHibernate로 enum 값의 컬렉션을 매핑하려고합니다.Fluent NHibernate로 간단한 요소 컬렉션 매핑하기
IList<EnumType> lst;
나는 그것에 관한 문서를 찾을 수 없지만 가능한 것이 확실합니다. 엔티티 컬렉션을 매핑하는 데 전혀 문제가 없었습니다.
감사 레오나르도
Fluent NHibernate로 enum 값의 컬렉션을 매핑하려고합니다.Fluent NHibernate로 간단한 요소 컬렉션 매핑하기
IList<EnumType> lst;
나는 그것에 관한 문서를 찾을 수 없지만 가능한 것이 확실합니다. 엔티티 컬렉션을 매핑하는 데 전혀 문제가 없었습니다.
감사 레오나르도
hasMany의 (X => x.Items) .Table (「TBL」) .KeyColumn ("FK") .Element ("ECOL") .AsBag()
다음 FNH 매핑 서명을 사용하여 단순 값 형식 컬렉션을 매핑 할 수 있습니다.
enum
될 수 있습니다) HasMany(x => x.Collection)
.Table("TableName")
.KeyColumn("KeyColumnName")
.Element("ValueColumnName");
.
몇 가지 값 유형 모음을 매핑하는 방법의 예를 참조하십시오.
public enum EnumType
{
Value1,
Value2,
Value3
}
public class Entity
{
/// <summary>
/// Primary key
/// </summary>
public virtual int Id { get; set; }
/// <summary>
/// Collection of strings
/// </summary>
public virtual IList<string> StringCollection { get; set; }
/// <summary>
/// Collection of enums
/// </summary>
public virtual IList<EnumType> EnumCollection { get; set; }
/// <summary>
/// Collection of dates/times
/// </summary>
public virtual IList<DateTime> DateTimeCollection { get; set; }
}
public class EntityMap : ClassMap<Entity>
{
public EntityMap()
{
// Map primary key.
Id(x => x.Id);
// Map value collections
HasMany(x => x.StringCollection)
.Table("Entity_String")
.KeyColumn("EntityId")
.Element("String");
HasMany(x => x.EnumCollection)
.Table("Entity_Enum")
.KeyColumn("EntityId")
.Element("Enum");
HasMany(x => x.DateTimeCollection)
.Table("Entity_DateTime")
.KeyColumn("EntityId")
.Element("DateTime");
}
}
이 매핑의 결과는 4 개의 테이블을 생성합니다.
매우 간단 했으므로 Fluent Nhibernate에서 컬렉션에 대한 요소 ("") 태그를 사용해야합니다. – Homer1980ar
그런 다음 완전한 정답을 작성하고 동의하십시오. 그런 식으로 사람들은 여전히 그것을 상향 줄 수 있습니다. –