[英]How can I map a dictionary of string and IList<string> in fluent nhibernate?
[英]Fluent NHibernate IList<string>
我有以下課程:
public class Address
{
public virtual int Id { get; private set; }
public virtual IList<string> AddressLines { get; set; }
public virtual string CityOrTown { get; set; }
public virtual string County { get; set; }
public virtual string Postcode { get; set; }
public virtual string Country { get; set; }
public virtual Member Member { get; set; }
public Address()
{
AddressLines = new List<string>();
}
public virtual void AddAddressLine(string addressLine)
{
AddressLines.Add(addressLine);
}
}
和以下映射類:
public AddressMap()
{
Id(x => x.Id);
HasMany(x => x.AddressLines).Element("AddressLine");
Map(x => x.CityOrTown);
Map(x => x.County);
Map(x => x.Postcode);
Map(x => x.Country);
References(x => x.Member);
}
表“ addresslines”由兩列“ Address_Id”和“ AddressLine”創建,並帶有指向“ address”表的外鍵。
出於某種原因,當保存地址時,“ AddressLines”集合不會持久保存到數據庫中。
我想念什么嗎?
似乎沒有很多有關映射IList的信息。 我知道這不是過去不可能的,因為字符串是值類型而不是實體類型,但是我被認為現在應該可行嗎?
HasMany(x => x.AddressLines).Element("AddressLine").Cascade.AllDeleteOrphan();
您需要設置默認的層疊約定。
使用自動映射時,請按照以下步驟操作:
AutoMap.Assemblies(_assemblies)
.Conventions.Add(
// Do cascading saves on all entities so lists will be
// automatically saved
DefaultCascade.All(),
);
據我所知,您可以對映射類執行相同的操作,但是我不知道確切的語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.