使用Fluent NHibernate进行继承会产生双重结果
我有以下情况:使用Fluent NHibernate进行继承会产生双重结果,nhibernate,fluent,Nhibernate,Fluent,我有以下情况: public class Login { public virtual int Id { get; set; } public virtual string Username { get; set; } } public class User : Login { public IList<Account> Accounts { get; set; } } 公共类登录 { 公共虚拟整数Id{get;set;} 公共虚拟字符串用户名{get;s
public class Login
{
public virtual int Id { get; set; }
public virtual string Username { get; set; }
}
public class User : Login
{
public IList<Account> Accounts { get; set; }
}
公共类登录
{
公共虚拟整数Id{get;set;}
公共虚拟字符串用户名{get;set;}
}
公共类用户:登录
{
公共IList帐户{get;set;}
}
如果我有两个映射(ClassMap
和ClassMap
),所有查询都会返回两个结果——我猜每个映射一个
有可能避免这种情况吗?我没有鉴别器值。用户有更多属性,因此我希望能够通过登录获取这些属性的子集。由于用户扩展了登录,默认情况下,查询登录也将返回用户实例 为了避免这种情况,必须在XML映射中使用
polymorphics=“explicit”
对于流畅的映射,使用
polymorphics.Explicit()
也许为两个实体Login
和User
指定不同的数据表就可以了,因此您必须根据需要显式查询Login
或User
。否则,迭戈·米耶尔松的回答听起来不错 它由fluent nhibernate支持。请告诉我相应的方法,以便我将其添加到我的答案中。