我想创建包含用户身份GUID的表(SQL Server),并在Fluent NHibernate中对其进行引用,这是我的模型:

public class Invoice {
    public virtual Guid Identity { get; set; }
    public virtual MembershipUser User { get; set; }
    public virtual int Price { get; set; }
}


因此,映射应为:

public class InvoiceMap : ClassMap<Invoice> {
    public InvoiceMap() {
        Id(x => x.Identity).GeneratedBy.GuidNative();
        Reference(x => x.User).Column("User");
        Map(x => x.Price);
        Table("invoices");
    }
}


但是只有一个问题。类MembershipUser也应该被映射。

如何在不映射MembershipUser的情况下做到这一点?

最佳答案

我猜您的问题是“如何在nHibernate中使用MembershipUser / Membership和Role Provider”。

首先,如果您不想重新发明轮子,我建议从您的类中删除MembershipUser属性,而只需引用一些标识符即可。否则它将变得更加复杂。稍后,您可以从MembershipProvider转换/检索MembershipUser。

在Codeplex上有一篇很好的文章,描述了如何使用nHibernate实现自定义成员资格提供程序
http://www.codeproject.com/Articles/55174/Custom-Fluent-Nhibernate-Membership-and-Role-Provi

关于c# - 流利的NHibernate对MembershipUser的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19037824/

10-09 20:28