Основные связи EF «один ко многим» HasOne().WithMany() и HasMany().WithOne()C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Основные связи EF «один ко многим» HasOne().WithMany() и HasMany().WithOne()

Сообщение Anonymous »

Предположим, у меня есть следующие 2 модели:

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

public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }

public List
 Posts { get; set; }
}

public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }

public Blog Blog { get; set; }
}
Теперь, если я хочу настроить отношения моделей в DbContext, есть ли разница между:

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

modelBuilder.Entity
()
.HasOne(p => p.Blog)
.WithMany(b => b.Posts);
и

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

modelBuilder.Entity()
.HasMany(b => b.Posts)
.WithOne(p => p.blog);
а если есть разница, то какая? мне следует написать оба или только один из них?

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

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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