C# nhibernate中具有未知列的表上的积垢

C# nhibernate中具有未知列的表上的积垢,c#,fluent-nhibernate,C#,Fluent Nhibernate,例如: 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);

例如:

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);
    }
}
public class ContactMap:ClassMap
{
公共联系人地图()
{
WithTable(“ida_联系人”);
Id(x=>x.Id,“ida_contact_Id”)。带有未保存的值(0)。由.UuidHex(“”)生成;
Map(x=>x.FirstName);
地图(x=>x.姓氏);
Map(x=>x.Address1,“dm_地址_1”);
Map(x=>x.Address2,“dm_地址_2”);
Map(x=>x.Address3,“dm_地址_3”);
地图(x=>x.邮政编码,“dm_邮政编码”);
地图(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.smsacept,“sms_accept”);
Map(x=>x.EmailAccept,“email_accept”);
映射(x=>x.UserName);
映射(x=>x.Password);
}
}
这个类映射是有限制的,因为在我的其他一些项目中,这个表看起来完全不同

我倾向于映射一个字典,其中字典中的每个元素表示表中的一列,这样,在数据库中添加列时,它将是100%动态的,并且如果与不同的系统集成,我只需要更新要使用的映射文件。 这还需要一个带有元数据的表来提供类型和验证信息,以满足我的域的要求

有没有办法在fluent nhibernate中进行这种映射? 某种形式的

public class ContactMap : ClassMap<IDictionary<string, object>>
{
     WithTable("Current_contactTable");
}
public class ContactMap:ClassMap
{
WithTable(“当前_contactTable”);
}

我确实认为这个解决方案闻起来有点难闻,所以如果有人有一个强类型的解决方案或一个链接,我很乐意听到;)

我认为没有,您应该创建一个新的映射

这个类映射是限制性的 因为这张桌子看起来会很干净 在我的其他一些方面有所不同 项目

这是另一个项目,另一个映射。fluentNH的要点是创建一种编写映射文件的强类型方法——就是这样

你的字典不会改进任何东西,你不也必须重写字典中的数据吗?(或许我误解了什么。)