Ef Core 8 Вопросы наследования и навигацииC#

Место общения программистов C#
Ответить
Anonymous
 Ef Core 8 Вопросы наследования и навигации

Сообщение Anonymous »

Я впервые работаю над настройкой связей в EF Core, и мне нужны рекомендации.
Я работаю по принципу «сначала база данных», так как не У меня нет контроля над базой данных. В таблицах, с которыми я работаю, не определены ключи/отношения, поэтому мне нужно создать их самостоятельно.
Таблицы, с которыми я работаю, будут доступны только для чтения. Три таблицы настроены для текущих, исторических и ожидающих данных. Таблицы имеют одинаковые ограничения, но с некоторыми различиями в именах столбцов.
Пример диаграммы приведен ниже. Эта схема дублируется для ИСТОРИЧЕСКОГО и ОЖИДАЮЩЕГО. В нескольких столбцах для 04, 05 и 07 имеется составной ключ (PolicyNumber + LocationNumber + BuildingNumber + SequenceNumber)
Изображение

Моя мысль состоит в том, чтобы настроить абстрактные базовые классы для каждой таблицы со всем, что в ней - включая свойства клавиш и навигации:

Код: Выделить всё

public abstract class 01Base
{
public ICollection Foo02 { get; set; } = [];
public ICollection Foo04 { get; set; } = [];
public string PolicyNumber { get; set; } = null!;
// all other properties.
}

public partial class Current01 : 01Base {}
public partial class Historical01 : 01Base {}
public partial class Pending01 : 01Base {}
< /code>
public abstract class 04Base
{
public required 01Base Common01 { get; set; }
public ICollection Foo05 { get; set; } = [];
public ICollection Foo07 { get; set; } = [];
// all other properties including composite key properties.
}

public partial class Current04 : 04Base {}
public partial class Historical04 : 04Base {}
public partial class Pending04 : 04Base {}
< /code>
public abstract class 05Base
{
public 04Base Foo04 { get; set; }
// all other properties including composite key properties.
}

public partial class Current05 : 05Base {}
public partial class Historical05 : 05Base {}
public partial class Pending05 : 05Base {}
Вопросы:
  • Имеет ли такое наследование смысл для данной структуры таблицы?
    < li>Можно ли помещать свойства навигации в абстрактные классы?
Я пытаюсь правильно настроить связи и ключи в OnModelCreating поэтому любые советы и помощь будут очень признательны.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -questions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»