Я хочу, чтобы в моей модели была сущность Person. Нет соответствующей таблицы и нет дискриминатора. Я просто хочу, чтобы он использовался как общий базовый класс для некоторых других объектов (я хочу определить public partial class Person
с общей функциональностью.
Так, например, я хочу иметь:
// this class has no corresponding table in the DB
public partial abstract class Person
{
public int Id {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public string DisplayName { get { return string.Format("{0}, {1}", LastName, FirstName); } }
}
// this corresponds to dbo.Users
public partial class User : Person
{
}
// this corresponds to dbo.Contacts
public partial class Contact : Person
{
}
Итак, я создал абстрактную сущность Person, установил его в качестве базового класса для сущностей User и Contact, затем добавил мои свойства и установил мои отображения для dbo.Users и dbo.Contacts для PK Id, FirstName и LastName свойства.
Я получаю ошибку:
3032: Problem in mapping fragments starting at lines 2109
..... are being mapped to the same rows in table .... Mapping conditions can be used to distinguish the rows that these types are mapped to.
Как мне заставить это работать?