Являются ли полностью определенные отношения в Entity Framework кодовым запахом? - PullRequest
0 голосов
/ 04 марта 2019

Вот классический пример:

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

    public List<Post> 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; }
}

Это создает циклическую (или циклическую) зависимость.И, как таковые, вы получаете все неприятности, которые идут с круговыми зависимостями: нарушение единой ответственности, исключения JSON-сериализатора и исключения контейнера IoC, и многие другие.

Это очень похоже на запах кода.

Это?

1 Ответ

0 голосов
/ 04 марта 2019

Полностью определенные отношения в Entity Framework - это запах кода

Не на абстрактном уровне.Значение только потому, что вы определяете все свои отношения, не означает, что является проблемой .

Это создает циклическую (или циклическую) зависимость.

Ваш код не имеет таких зависимостей.Если у вас есть настроенные свойства навигации, даже при правильной настройке EF Entity Builder, без изменения этих классов у вас нет таких зависимостей.То, как вы решите использовать эти классы, зависит от того, существует эта проблема или нет.

вы получаете все неприятности, которые идут с круговыми зависимостями

Это всегда имеет существует .Простое использование EF не должно волшебным образом заставить это исчезнуть.

Мы разрабатываем наши классы вокруг реальных сценариев / сущностей.Эти сценарии / сущности имеют точно такие же проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...