Есть ли способ сопоставить определенное поле с несколькими столбцами в Entity Framework? В конкретном сценарии используется наследование с иерархией Table per Type. Я хотел бы, чтобы определенное поле появлялось как в таблице базового типа, так и в таблице конкретного типа.Хранить дубликаты данных в Entity Framework
Пример:
abstract class BaseEntity
{
int id { get; set; }
DateTime createDate { get; private set; }
string TypeName { get; private set; }
}
public class Person : BaseEntity
{
int id { get; set; }
DateTime createDate { get; private set; }
string TypeName { get; private set; }
string FirstName {get; set;}
string LastName {get; set;}
DateTime DateOfBirth {get; set;}
}
Базовый класс Таблица
int ID,
DateTime createDate,
varchar TypeName
Класс бетона Таблица
int ID,
DateTime createDate,
varchar FirstName,
varchar LastName,
DateTime DateOfBirth
Это не является проблемой, имеющей идентификатор в обеих таблицах, поскольку он является первичным ключом. Однако дата создания рассматривается как отдельные данные.
Основная причина этого - поддержание базы данных и поддержка. Я понимаю, что дублирование данных не является хорошей практикой. Это будет только для нескольких полей.
Код C# не должен выглядеть так. Свойство не нужно читать в класс Person, если есть другой способ. Я бы хотел, чтобы «триггер» предлагал сделать что-то в коде – mfreedm52