nHibernate映射的两个表分为两个表

时间:2016-11-03 13:51:59

标签: c# nhibernate nhibernate-mapping

我正在开发Web应用程序。我想用表映射类。现在我有三张桌子。我想要这些表和类的xml映射,但不能更改表结构。

我有这样的细节

> Table and Fields
>     1. **User**
>      UserID,
>      FirstName,
>      LastName,
>     2. **Detail**
>      DetailID ,
>      UserID,
>      Address,
>      City
     3. Contact
     ContactID
     UserID
     Mobile
     Home

I have two classes. User and Detail
     public class User
    {
     public RegionalPreference()
            {
                RP_Region = new List<RegionalPreference_Region>();
            }
            public virtual uint UserID { get; set; }
            public virtual string FirstName{ get; set; }
            public virtual string LastName { get; set; }
            public virtual Contact Contacts { get; set; }
            public virtual List<Detail> Details { get; set; }
    }

     public class Detail
        {
                public virtual uint DetailID { get; set; }
                public virtual uint UserID { get; set; }
                public virtual string Address{ get; set; }
                public virtual string City { get; set; }
        }

> public class Contact
>         {
>                 public virtual uint UserID { get; set; }
>                 public virtual string Mobile{ get; set; }
>                 public virtual string Home { get; set; }
>         }

2 个答案:

答案 0 :(得分:1)

NHibernate有一个非常detailed documentation

tutorial可能对您有所帮助。由于您已经有课程,因此可以跳至定义映射

答案 1 :(得分:1)

首先,代码中的构造函数public RegionalPreference()不正确;构造函数的名称与类名称不匹配。此外,永远不会定义或使用RP_Region

我不会为你提供准备吃的映射文件,我会尽力解释你如何创建一个。相信我,这很简单。

参考this初学者教程。

将您的Detail表格与Detail POCO进行映射是正确的。我没有看到任何捕获。请参阅this教程中的“基于XML的配置”。

关于将UserContact表与您的POCO进行映射,您需要在NHibernate中使用component。请参阅this教程。

我希望这会对你有所帮助。