【发布时间】:2013-03-05 09:43:01
【问题描述】:
我正在使用 NHibernate/FluentNhibernate 和 AutoMapping 配置,但我在处理某些关系的外键时遇到了问题。尤其是那些导航属性名称与其指向的类型名称不同的地方:
public class Country
{
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual Currency DefaultCurrency { get; set; }
}
public class Currency
{
public virtual string Code { get; set; }
public virtual decimal Rate { get; set; }
public virtual IList<Country> Countries { get; set; }
}
在导航属性名称DefaultCurrency 与名称Currency 类型不同的国家实体的情况下。 NHibernate 的自动映射会猜测 Country 表将具有以下外键:
DefaultCurrency_id:对应Country.Currency的关系Currency_id:对应Currency.Countries的关系
如何告诉自动映射关系 Currency.Countries 可以用 DefaultCurrency_id 键表示,从而导致 Country 表只有一个键外:
-
DefaultCurrency_id:对应Country.Currency和Currency.Countries的关系
【问题讨论】:
-
你能发布你的
Fluent映射吗?
标签: c# .net nhibernate fluent-nhibernate