ASP net Core Razor Pages - сплит модели для EF и представлений - PullRequest
0 голосов
/ 03 марта 2019

Я бы очень хотел получить дополнительную информацию от некоторых других разработчиков.В настоящее время я работаю над небольшим проектом, который использует только несколько таблиц базы данных.Я думал о том, стоит ли разделять модели на базы данных и просматривать модели.В настоящее время используются только модели БД, которые также используются во всех страницах / представлениях.

Изначально я думал, что было бы неплохо иметь чистое разделение их на случай, если произойдут некоторые изменения в БД.Но, честно говоря, я не вижу преимущества в разделении.Если столбцы должны быть переименованы, можно использовать некоторые атрибуты, не влияя на пользовательский интерфейс.

Единственная причина для его разделения - не загружать все столбцы, если они не нужны.Прямо сейчас, когда view извлекает некоторую информацию из БД, все столбцы загружаются.Но это очень мало трафика, даже если он не нужен.Я могу вспомнить, что также упоминалась MS, чтобы разделить ее в некоторой предыдущей документации по ASP.Net Core.Но, похоже, они изменились.Также в документах об EF не упоминается о разделении моделей.

Ответы [ 2 ]

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

Я решил разделить решение на Чистую архитектуру (Web, Infrastructure и Core Layer).https://docs.microsoft.com/en-us/dotnet/standard/modern-web-apps-azure-architecture/common-web-application-architectures

Найдите его наиболее подходящим, и его будет очень легко расширить, когда приложение начнет расти.

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

У меня были похожие мысли (особенно когда я использовал строковые поля поддержки для BLOB-объектов JSON).Вы можете использовать анонимные типы для ограничения возвращаемых данных.

Как в этом примере (https://docs.microsoft.com/en-us/ef/core/querying/client-eval)

var blogs = context.Blogs
    .OrderByDescending(blog => blog.Rating)
    .Select(blog => new
    {
        Id = blog.BlogId,
        Url = StandardizeUrl(blog.Url)
    })
    .ToList();

EF Core 2.1 также представил Типы запросов , которые могут помочь сделать связь между вашими объектами вида и моделью БД болееясно.

...