EF при создании модели с отношением «один ко многим» вызывает переполнение циклаC#

Место общения программистов C#
Ответить
Anonymous
 EF при создании модели с отношением «один ко многим» вызывает переполнение цикла

Сообщение Anonymous »


Надеюсь, вы мне поможете.

Мне нужны объекты в EF с отношением один-ко-многим

Во-первых:

публичный класс DefaultEvent { общественный ИНТ DefaultEventId {получить; набор; } общедоступный виртуальный ICollection DefaultCommitteeAgendas {get; набор; } } Во-вторых:

публичный класс DefaultCommitteeAgenda { общественный ИНТ Id {получить; набор; } общественный ИНТ DefaultEventId {получить; набор; } общественное событие DefaultEvent {get; набор; } } Я настраиваю связь между этими двумя объектами следующим образом:

public void Configure (строитель EntityTypeBuilder) { builder.HasKey(a => a.DefaultEventId); builder.Property(a => a.DefaultEventId).HasColumnName("idDefaultEvent"); // Связки builder.HasMany(x => x.DefaultCommitteeAgendas) .WithOne(x => x.Event) .HasForeignKey(x => x.DefaultEventId); builder.ToTable("ftDefaultEvent", "dbo"); } public void Configure (EntityTypeBuilder Builder) { builder.HasKey(x => x.Id); builder.Property(x => x.Id) .HasColumnName("idDefaultCommitteeAgenda") .ValueGeneratedOnAdd(); builder.Property(x => x.DefaultEventId) .HasColumnName("idDefaultEvent") .Требуется(); builder.HasOne(x => x.Event) .WithMany(x => x.DefaultCommitteeAgendas) .HasForeignKey(x => x.DefaultEventId); builder.ToTable("ftDefaultCommitteeAgenda", "dbo"); } Но в итоге я получил отношения цикла: DefaultEvent, у которого есть DefaultCommitteeAgenda, у которого есть DefaultEvent, у которого есть DefaultCommitteeAgenda, и так далее.

Но нужен только DefaultEvent, у которого есть DefaultCommitteeAgenda без цикла. Как я могу это исправить?
Ответить

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

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

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

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

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