0
public class ContactMap : ClassMap<Contact>
{
public ContactMap()
{
WithTable("ida_contact");
Id(x => x.ID, "ida_contact_id").WithUnsavedValue(0).GeneratedBy.UuidHex("");
Map(x => x.FirstName);
Map(x => x.Surname);
Map(x => x.Address1, "dm_address_1");
Map(x => x.Address2, "dm_address_2");
Map(x => x.Address3, "dm_address_3");
Map(x => x.Postcode, "dm_postcode");
Map(x => x.City, "dm_city");
Map(x => x.CountryCode, "dm_countrycode");
Map(x => x.PhoneMobile, "phone_mobile");
Map(x => x.PhoneHome, "phone_home");
Map(x => x.Email);
Map(x => x.DOB);
Map(x => x.SMSAccept, "sms_accept");
Map(x => x.EmailAccept, "email_accept");
Map(x => x.UserName);
Map(x => x.Password);
}
}
該類映射是限制性的表會看在我的一些其他項目的完全不同。
我傾向於做的是映射一個字典,其中字典中的每個元素表示一個表中的列,這樣在數據庫中添加列時它將是100%動態的,我只需要如果我正在與不同的系統進行集成,則更新映射文件與要使用哪個表。 這也需要一個包含元數據的表來提供類型和驗證信息,以滿足我的域的需求。
有沒有辦法在fluent-nhibernate中做這種映射? 的
public class ContactMap : ClassMap<IDictionary<string, object>>
{
WithTable("Current_contactTable");
}
一些形式我認爲解決的辦法聞起來有點壞艱難,因此,如果任何人有一個更強類型的解決方案或鏈接到一個ID喜歡聽)。