Выберите из родительской таблицы возвращаемый ID = 0 значений столбца для дочерних объектов - PullRequest
0 голосов
/ 30 апреля 2010

Объекты:

public class Person
{
    public Person(){}

    public virtual long ID { get; set; }
}
public class Employee : Person
{
    public Employee(){}

    public virtual long ID { get; set; }
    public virtual string Appointment { get; set; }
}

Отображения:

public class PersonMap : ClassMap<Person>
{
    public PersonMap()
    {
        Id(x => x.ID)
            .GeneratedBy.Identity();
    }
}
public class EmployeeMap : SubclassMap<Employee>
{
    public EmployeeMap()
    {
        KeyColumn("ID");

        Map(x => x.Appointment)
            .Not.Nullable()
            .Length(50);
    }
}

2 позиции в таблице Персона 1 элемент в таблице сотрудников (1 в базовом классе, 1 в дочернем классе)

Запрос: var list = Session.CreateQuery("from Person").List<Person>();
Возвращение:
0 | ID = 1
1 | ID = 0, Назначение = "SomeAppointment"

1 Ответ

0 голосов
/ 30 апреля 2010
public class Employee : Person
{
    public Employee(){}

    public virtual long ID { get; set; }
    public virtual string Appointment { get; set; }
}

публичный виртуальный длинный ID {get; задавать; } - Не должно быть здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...