两个类与两个表的nHibernate映射

本文关键字:两个 nHibernate 映射 | 更新日期: 2023-09-27 18:16:04

我正在开发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; }
>         }

两个类与两个表的nHibernate映射

NHibernate有非常详细的文档。

本教程可能对您有所帮助。既然你已经有了你的类,你可以跳到定义映射

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

我不会提供你现成的吃映射文件,我会尝试解释你如何创建一个。相信我,这很简单。

参考这个初学者教程。

映射你的Detail表与Detail POCO是直接的。我看不出有什么好处。参考本教程中的"基于xml的配置"。

关于用poco映射UserContact表,你需要在NHibernate中使用component。参考本教程。