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

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

Сообщение Anonymous »

Это я впервые работаю с настройкой отношений в EF Core, и я ищу некоторое руководство. T имеют контроль над базой данных. Таблицы, с которыми я работаю, не имеют определенных ключей/отношений, поэтому мне нужно построить их сам. Три таблицы установлены для текущих, исторических и ожидающих данных. Таблицы имеют одинаковые ограничения, но с некоторыми различиями в именах столбцов. < /P>
Примерная диаграмма ниже. Эта схема дублируется для исторического и ожидаемого. На нескольких столбцах есть композитный ключ для 04, 05 и 07 (Policynumber + locationnumber + buildingnumber + sequenceNumber) < /p>

Я думаю, что настройка абстрактных базовых классов для каждой таблицы со всем в нем - включая ключевые и навигационные свойства:
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 {}
< /code>
Вопросы: < /p>

Имеет ли это наследование смысл для данной структуры таблицы? < /li>

< li> Это нормально размещать свойства навигации в абстрактные классы? > Так что любой совет или помощь там очень ценится.


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

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

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

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

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

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