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喜欢听)。