Переопределить циклическую зависимость Entity Framework CoreC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Переопределить циклическую зависимость Entity Framework Core

Сообщение Anonymous »

У меня есть структура таблицы (упрощенная):
public class Record
{
public Guid? Id { get; set; }
public virtual IList StatusInstances { get; set; } = default!;
public Guid? CurrentStatusId { get; set; } = default!;
public virtual StatusInstance CurrentStatus { get; set; } = default!;
}

public class StatusInstance
{
public Guid? RecordId { get; set; }
}

Я хотел бы добавить как в список, так и в один экземпляр. У меня есть похожие таблицы, и я бы тоже хотел работать таким же образом, но, очевидно, это приводит к циклическому предупреждению о зависимостях.
Что я пробовал и работает:
  • < li>Я могу добавить запись с текущим статусом, но не добавляю ее в список и не добавляю идентификатор записи. Затем я могу добавить последующий новый статус после создания записи, но первый статус будет потерян.
  • Я могу добавить запись без какого-либо статуса ни в список, ни в текущий, а затем добавить к обоим после первоначальное сохранение, однако из-за уникального способа работы приложения это невозможно.
  • Я мог бы удалить текущий статус и сохранить все в списке, однако из-за того, как я использую структуру сущностей, я нужна недвижимость с отношениями один к одному. Я могу настроить запись, чтобы выбрать первый статус в качестве свойства, однако для этого мне нужно получить полный список, а затем сначала выбрать. Не хочу для этого получать полный список.
Поскольку кажется возможным обойти проблемы циклических зависимостей, сохраняя в определенном порядке, я Я уверен, что должен быть способ сделать это при первом сохранении. Несмотря на то, что я могу найти обходные пути вокруг этого, было бы очень удобно использовать эту связь во всей системе.
Для справки у меня есть этот код в OnModelCreating
modelBuilder.Entity()
.HasOne(r => r.CurrentStatus)
.WithOne()
.HasForeignKey(r => r.CurrentStatusId);

modelBuilder.Entity()
.HasMany(r => r.StatusInstances)
.WithOne()
.HasForeignKey(r => r.RecordId);


Подробнее здесь: https://stackoverflow.com/questions/791 ... dependency
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Переопределить циклическую зависимость Entity Framework Core
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как исправить эту циклическую зависимость весной?
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как исправить эту циклическую зависимость весной?
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как обрабатывать циклическую зависимость между двумя таблицами в SQLAlchemy
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Проект Python PyQt5 разделен на два отдельных файла, создавая циклическую зависимость
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

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