2016-11-03 4 views
0

Я работаю над веб-приложением. Я хочу отображать классы со столом. Теперь у меня три таблицы. Я хочу сопоставление xml для этих таблиц и классов, но не могу изменить структуру таблицы.nHibernate сопоставление двух классов с двумя таблицами

У меня есть деталь, как этот

> 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; } 
>   } 

ответ

1

NHibernate имеет очень detailed documentation.

Этот tutorial может быть вам полезен. Поскольку у вас уже есть свои классы, вы можете пропустить до Определить отображение.

1

Во-первых, конструктор public RegionalPreference() в вашем коде неверен; имя конструктора не совпадает с именем класса. Также RP_Region никогда не определяется и не используется.

Я не буду предоставлять готовый к употреблению картографический файл, я попытаюсь объяснить вам, как его создать. Поверьте мне, это очень просто.

См. this Начальный учебник.

Карточка Detail таблица с Detail POCO - пролив вперед. Я не вижу в этом никакого улова. См. «Конфигурация на основе XML» в уроке this.

О картировании User и Contact таблиц с вашими POCOs, вам необходимо использовать component в NHibernate. Обратитесь к учебнику this.

Надеюсь, это вам поможет.