Использование класса Entity в качестве модели - PullRequest
0 голосов
/ 20 января 2019

У меня есть проект отдельного бизнес-уровня (библиотека классов), и у него есть класс сущностей, подобный этому.

public class Company
{
public int Id{get;set}
public Name string {get;set;}
}

Я ссылаюсь на эту dll для проекта MVC и использую этот класс компании в качестве класса модели для представления. Является ли это хорошей практикой для использования класса Entity в качестве модели или есть какой-либо хороший способ реализовать это.

Ответы [ 3 ]

0 голосов
/ 20 января 2019

Обычно в проектах MVC .net среднего и большого размера использовать сущности Model в представлении.Рассмотрите возможность создания отдельных моделей для View.И использование Automapper для приведения ваших моделей бизнес-уровня к просмотру моделей слоев.

Вот некоторая полезная информация о разнице между моделями и моделями представления: https://cpratt.co/entities-are-not-models/

0 голосов
/ 21 января 2019

Если вы планируете использовать несколько шин .., пожалуйста, найдите мои комментарии ниже.

  1. ASP.NET MVC разработан на основе шаблона «Соглашение о конфигурации». Так что не пытайтесь смешивать понятия. Я не буду вредить проекту, но вызову сильную головную боль во время обслуживания.

  2. то, что вы сделали, является безопасной практикой, вынуждая сущность из веб-проекта и сохраняя ее как отдельную библиотеку классов. («Разделение интересов» - ТВЕРДЫЕ принципы.)

  3. В модели выполните проверку на стороне клиента, а с Entity выполните проверки бизнеса и обработку данных из постоянных хранилищ (баз данных)

Ссылки:

0 голосов
/ 20 января 2019

Ваш проект MVC должен содержать отдельную модель, чем сущности. Цель модели - хранить логику и все проверки. Ваша сущность и класс модели могут совпадать или не совпадать. Но все проверки и логика должны содержаться в классе модели для приложений MVC. Это может помочь вам изменить вашу сущность или модель в зависимости от ваших потребностей. Они останутся слабо связанными.

Лучшие практики для приложений MVC, которые использовались, доступны в MSDN

https://blogs.msdn.microsoft.com/aspnetue/2010/09/17/best-practices-for-asp-net-mvc/

https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/overview/understanding-models-views-and-controllers-cs#understanding-models

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