Подтвердить что ты не робот

Какая разница между моделью и сущностью

Я смущен, чтобы понять, в чем смысл этих слов:

Entity, Model, DataModel, ViewModel

Может ли кто-нибудь помочь мне понять их? Спасибо всем.

4b9b3361

Ответ 1

Надеюсь, я не пропустил вашу точку здесь king.net...

В любом случае, предполагая, что вы говорите о моделировании сущностей или моделировании сущностей (ERD):

  • субъект представляет любую реальную сущность - например, студент, курс,
  • объект будет иметь атрибуты - например. студент имеет имя, фамилию, дату рождения.
  • у сущности будут отношения - например. студент "зачисляется на" курс (где учащийся и курс являются сущностями с атрибутами и "зарегистрирован" - это отношения.
  • отношения могут быть "один к одному", "один ко многим" или "многие ко многим" - например. один студент "зачислен на" многие курсы и один курс "имеет много учеников.
  • отношения также имеют мощность

Добавление связей между объектами создает "модель данных". Вы смоделировали систему реального мира и внутренние объекты/объекты в этой системе. Следующий шаг - нормализовать его, чтобы он соответствовал "нормальной форме".

В терминах ERD у вас могут быть "логические" и "физические" модели. Логическое описание модели данных в простых терминах высокого уровня, которая содержит технические детали, необходимые для ее реализации. Он представляет собой обзор системного решения. Физическая модель включает в себя технические данные, необходимые для фактического внедрения системы (например, "много ко многим таблицам соединений", необходимых для реализации отношений "многие ко многим" ).

Вот несколько обучающих программ в режиме онлайн (хотя я уверен, что там должны быть тысячи):

Я не совсем уверен, что вы подразумеваете под "моделью" и "моделью взгляда" в соответствующем контексте. Не уверен, что вы можете смутить это с помощью парадигмы Model-View-Controller (MVC). Здесь модель представляет собой некоторый компонент данных, и представление представляет собой наблюдателя этих данных (например, компонент таблицы или графика). Там много он-лайн объясняя "контроллер представления модели" или "MVC".

Надеюсь, что это поможет, Уэйн

Ответ 2

Определение этих терминов довольно неоднозначно. Вы найдете разные определения в разных местах.

Сущность: Сущность представляет отдельный экземпляр объекта вашего домена, сохраненный в базе данных в виде записи. У него есть некоторые атрибуты, которые мы представляем в виде столбцов в наших таблицах.

Модель. Модель обычно представляет собой объект реального мира, связанный с проблемой или доменным пространством. В программировании мы создаем классы для представления объектов. Эти классы, известные как модели, имеют некоторые свойства и методы (определяющие поведение объектов).

ViewModel. Термин ViewModel происходит от шаблона проектирования MVVM (модель View ViewModel). Есть случаи, когда данные, которые будут отображаться представлением, поступают из двух разных объектов. В таких сценариях мы создаем класс модели, который состоит из всех свойств, требуемых представлением. Это не модель домена, а ViewModel, потому что конкретное представление использует его. Кроме того, он не представляет объект реального мира.

DataModel: чтобы решить проблему, объекты взаимодействуют друг с другом. Некоторые объекты разделяют отношения между ними и, следовательно, образуют модель данных, которая представляет объекты и отношения между ними.

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

Чтобы узнать больше об объектных отношениях, посетите мой пост в блоге: Основы объектных отношений

Для получения более подробной информации посетите мой пост в блоге: Entity vs Model vs ViewModel vs DataModel

Ответ 3

Прежде всего, чтобы узнать об Entity, вы должны знать о классе. Все они представляют одинаковые поля, но терминологические изменения основаны на декларации.

Рассмотрим таблицу из любой базы данных [SQL, ORACLE, Informix, Cassandra..] в качестве примера.

CLASS:

Обычно таблица рассматривается как класс, пока не будет добавлена ​​в edmx или dbmx.

 //Student class
        public class Student()
        {
        //Properties
        public int StudentNumber;
        public string StudentName;
        }

ENTITY:

  • После перетаскивания/добавления таблицы в dbmx/edmx это называется Entity.

  • Каждая Сущность генерируется из соответствующего класса, и мы можем добавить атрибуты для объекта, которые используются для выполнения операций с использованием linq или entity.

DATAMODEL:

  • Содержит все поля в таблице.

  • DATAMODEL - ссылка прямого класса на ваш cshtml или контроллер где вы можете получить доступ к атрибутам для выполнения операций CRUD.

VIEWMODEL:

  • Возникают некоторые ситуации, когда нам нужно выполнять операции CRUD больше чем одна модель (таблица).
  • Итак, мы объединяем все необходимые модели в классе и определяем их в его конструктор.

Пример: Предположим, что

//Student class
public class Student()
{
//Properties
public int StudentNumber;
public string StudentName;
}
//Marks Class
Public class Marks()
{
public int Maths;
public int Physics;
public int Chemistry;

//Now sometimes situations occur where we have to use one datamodel inside //other datamodel.
public Student StudentModel;
}

Ответ 4

Организация:

Сущность - это представление элемента реального мира в Object Relational Mapping (ORM) в качестве Entity Framework. Это представление будет сопоставлено с таблицей в базе данных, а ее атрибуты будут преобразованы в столбцы. Сущность пишется с использованием класса POCO, который является простым классом, как вы можете видеть в следующем примере на С#:

using System;
using System.Collections.Generic;
using System.Text;

namespace MyAplication.Entity
{
    public class Person
    {
        public long PersonId { get; set; }
        public string Name { get; set; }
        public short Age { get; set; }
    }
}

Работа с созданием пользовательского интерфейса - сложная задача. Чтобы все было организовано, программисты разделяют свои приложения на слои.

Каждый слой отвечает за задачу, и это предотвращает путаницу кода. Именно в этом сценарии появляются архитектурные шаблоны, такие как MVC и MVVM.

Модель:

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

ViewModel:

ViewModel в архитектуре MVVM очень похож на модель в архитектуре MVC. Однако ViewModel - это упрощенное представление данных, содержащее только ту информацию, которая требуется для построения представления.

using System;
using System.Collections.Generic;
using System.Text;
using MyAplication.Web.ViewModel.BaseViewModel;

namespace MyAplication.Web.ViewModel.Person
{
    public class PersonNameViewModel : BaseViewModel<string>
    {
        //I just neet the name
        public string Name { get; set; }
    }
}

DataModel:

Это просто абстрактная модель (эта модель отличается от модели уровня MVC), которая устанавливает отношения, которые существуют между элементами, которые представляют сущности реального мира. Это очень всеобъемлющий предмет.