流利的NHibernate:如何创建循环的一对一映射? [英] Fluent NHibernate: How to create circular one-to-one mapping?
本文介绍了流利的NHibernate:如何创建循环的一对一映射?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
public class AdminUser
{
public virtual int Id {get;组; }
public virtual string UserName {get;组; }
public virtual string Password {get;组; }
public virtual bool IsLocked {get;组; }
public virtual AdminUser Creator {get;组; }
public virtual DateTime CreationDate {get;组; }
}
public class AdminUserMapping:ClassMap< AdminUser>
{
public AdminUserMapping()
{
Id(c => c.Id).GeneratedBy.Native();
Map(c => c.UserName).Not.Nullable();
Map(c => c.Password).Not.Nullable();
Map(c => c.IsLocked).Not.Nullable();
Map(c => c.CreationDate).Not.Nullable();
// HasOne< AdminUser>(...?)
}
}
你好,我有类似上面,我想创建一个一对一的映射造物主属性在同一个类上
我怎么能
解决方案
试试这个:
References(x => x.Creator);
确保您的表格上有一个名为Creator_Id的列。如果你不这样做,你可以使用:
$ p $ 引用(x => x.Creator).Column(YourColumnName )
public class AdminUser
{
public virtual int Id { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual bool IsLocked { get; set; }
public virtual AdminUser Creator { get; set; }
public virtual DateTime CreationDate { get; set; }
}
public class AdminUserMapping : ClassMap<AdminUser>
{
public AdminUserMapping()
{
Id(c => c.Id).GeneratedBy.Native();
Map(c => c.UserName).Not.Nullable();
Map(c => c.Password).Not.Nullable();
Map(c => c.IsLocked).Not.Nullable();
Map(c => c.CreationDate).Not.Nullable();
//HasOne<AdminUser>(... ?)
}
}
Hi i have class like above, and i want to create one-to-one mapping for "Creator" property on same class
how can i do this?
解决方案
Try this:
References(x => x.Creator);
Make sure that you have a column named Creator_Id on your table. If you don't, you can use:
References(x => x.Creator).Column("YourColumnName")
这篇关于流利的NHibernate:如何创建循环的一对一映射?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文