1

Например, У меня есть две таблицы в моей базе данныхFluent NHibernate Создать сопоставление объектов для перекрывающихся объектов

NonResidentStudents - колонны studentID, studentname, ModeOfTransport

ResidentStudents - колонны studentID, studentname, DateOfJoiningHostel

studentID и studentName общие столбцы и последний столбец является редкостью между двумя

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

Теперь, когда вы пытаетесь создать сущность и сопоставление для вышеуказанной схемы с использованием FLUENT NHIBERNATE (только), я хотел бы знать, могу ли я определить какой-то общий объект и общее сопоставление для общих столбцов и создать дочерние сущности, наследующие от общих лиц. В дочернем объекте и классе сопоставления у меня будут представления для необычных столбцов. Мог ли кто-нибудь, пожалуйста, поделиться кодом, как это сделать.

ответ

0

Я сделал это раньше.

Общий класс

public class BaseMapping : ClassMap<EntityBase>{ 

    public BaseMapping() 
    { 
     UseUnionSubclassForInheritanceMapping(); 
     // All the rest of the mapping attributes 
    } 
} 

Для ваших индивидуальных классов, которые наследуют от основания вы делаете это:

public class DepartmentMapping : SubclassMap<Department> 
{ 
    public DepartmentMapping() 
    { 
     Abstract(); 
     // Map all the unique attributes 
    } 
} 

Код выше будет создать один класс, основанный на Департамент и EntityBase. Он не будет создавать таблицу EntityBase.

Смежные вопросы