首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >模型和实体之间的区别是什么

模型和实体之间的区别是什么
EN

Stack Overflow用户
提问于 2012-01-05 22:20:16
回答 2查看 64.2K关注 0票数 96

我不明白这句话的意思是什么:

EntityModelDataModelViewModel

有没有人能帮我理解一下?谢谢你们所有人。

EN

回答 2

Stack Overflow用户

发布于 2018-11-22 08:46:27

实体:

实体是对象关系映射( Object Relational Mapping,ORM)中作为实体框架的真实元素的表示。此表示将映射到数据库中的表,其属性将转换为列。实体是使用POCO类编写的,POCO类是一个简单的类,您可以在C#中的以下示例中看到:

代码语言:javascript
复制
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; }
    }
}

创建UI是一项复杂的任务。为了让事情井然有序,程序员将他们的应用程序分成几层。

每一层都负责一个任务,这样可以防止代码混乱。正是在这种情况下,出现了MVC和MVVM等体系结构模式。

型号:

在MVC中,我们有一个层负责表示先前存储的数据,给定的可以是上一个示例中建模的person的实例。这一层就是模型。此模板将用于构建视图。

ViewModel:

MVVM架构中的ViewModel非常类似于MVC架构中的模型。但是,ViewModel是数据的简化表示,只包含构造视图所需的信息。

代码语言:javascript
复制
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层模型),它建立了表示真实世界实体的元素之间存在的关系。这是一门非常全面的学科。

票数 6
EN

Stack Overflow用户

发布于 2022-01-03 15:48:07

简单的谈话:

DTO代表数据传输对象。DTO主要用于在服务(web服务、API等)之间传输数据。它可以包含不同实体的各种属性(具有或不具有其ID)。以这一行作为DTO的示例:假设一个购物网站将通过web服务将其发货请求发送给一家发货公司。它的DTO应该是这样的:CustomerFullNameShippingFeeShippingAddress。在本例中,CustomerFullNameCustomer实体的属性FirstName + LastName的组合,而ShippingFee是目的地、税收等在其他一些实体上的几个过程的结果。

相反,实体是为表示具有特定ID (例如,TeacherStudentEmployee等)的单个实体而聚集的一组属性。换句话说,DTO是一组要发送给客户端的无意义属性,DTO不一定与其他DTO有关系,而实体包括与其他实体有意义关系的特定对象的属性。在关系数据库范例中,我们可以将DTO视为视图的行,而实体是具有主键的表的行。

然而,Model是这两者的组合。一个模型可以包含几个相关的实体,外加额外的数据来处理真实的应用程序/UI问题。考虑一个名为CustomerOrdersModel的模型,该模型包含Customer实体、List<Order>实体和一个额外的布尔标志PayWithCredit,该标志指定用户是用借记卡还是信用卡付款。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8743995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档