Я делаю код первым, и поскольку многие из моих объектов POCO имеют некоторые свойства, я решил настроить вещи с наследованием. Вот два моих данных объектовкод объекта первого порядка наследования в генерируемых таблицах
public abstract class BaseDataObject
{
[Key]
public Guid Id {get; set;}
public string Name {get; set;}
}
public class DataObject1: BaseDataObject
{
public string SomeProperty {get; set;}
}
public class DataObject2: BaseDataObject
{
public string OtherProperty {get; set;}
}
Теперь, если EF генерирует мои таблицы, это будет создать две таблицы со следующими свойствами
DataObject1 Id (UniqueIdentifier, PK) SomeProperty (NVARCHAR (макс)) Имя (NVARCHAR (макс))
DataObject2 Id (UniqueIdentifier, ПК) OtherProperty (NVARCHAR (макс)) Имя (NVARCHAR (макс))
Итак, он ставит ключ первым .., но другое свойство моего BaseDataObject добавляется в конец. Я бы предпочел бы иметь эти свойства сразу после Id .. так что сначала свойства BaseDataObject, затем свойства производных объектов.
Есть ли способ сказать EF сделать это при создании моих таблиц? Я знаю, что это просто косметика, но все же ... если кто-то смотрит на БД напрямую, то наличие этих «базовых свойств» в конце кажется довольно запутанным.
Спасибо.
Вы используете миграцию? –