EFCore вручную удаляет внешний ключC#

Место общения программистов C#
Ответить
Anonymous
 EFCore вручную удаляет внешний ключ

Сообщение Anonymous »

Каких последствий можно ожидать, если вручную удалить ограничение внешнего ключа, созданное в EF Core?
Мы пытаемся нормализовать таблицу, которая будет использоваться в нескольких таблицах в нашей системе ниже. это краткий пример.
Объекты:

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

public class Note
{
public Guid? MasterId { get; set; }
public string? MasterType { get; set; } = string.Empty;
public UserValueObject User { get; private set; }
public string Content { get; private set; }

//Removed for simplicity
}

public class Quote
{
public Branch Branch { get; private set; }
public ICollection? Notes { get; private set; } = new List();

//Removed for simplicity
}

public class Lead
{
public DateTime? DateConverted { get; set; }
public Branch Branch { get; private set; }
public LeadStatus Status { get; private set; }
public ICollection? Notes { get; private set; } = new List();

//Removed for simplicity
}
Конфигурации объектов EF

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

public void Configure(EntityTypeBuilder builder)
{
//Simlified
builder.HasMany(x => x.Notes)
.WithOne()
.HasForeignKey(x => x.MasterId)
.IsRequired(false)
.OnDelete(DeleteBehavior.NoAction);
}

public void Configure(EntityTypeBuilder builder)
{
//Simlified
builder.HasMany(x => x.Notes)
.WithOne()
.HasForeignKey(x => x.MasterId)
.IsRequired(false)
.OnDelete(DeleteBehavior.NoAction);
}
Приведенные выше конфигурации всегда генерируют ограничение внешнего ключа, даже следуя примеру (без свойства навигации) Документы MS EF

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

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

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

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

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

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