4

我将 mvc/razor 与数据库优先模型实体框架一起使用。在项目中创建模型和拥有表有什么区别。

示例:我peopleModel.csModels/peopleModel.cs edmx 文件中有一个表,tblpeople用相同的字段调用。它们之间有什么区别?

4

3 回答 3

3

tblpeople是你的数据库的图像。
peopleModel是您的表格的图像,您可以将其视为扩展。例如,您可以在此处添加更多在数据库中没有的属性(在其他部分类中)。

编辑:

例如,我们有一个具有以下基于 db 的类的 Database-First 应用程序:

public partial class Product
{
    public byte Type { get; set; }
    public string Language { get; set; }
}

但是我们需要更多的字段来显示附加信息。所以我们创建了另一个部分类(在一个单独的文件中):

public partial class Product
{
    public Terminology Terminology { get; set; }
}

edmx因此,您可以从数据库中更新您的表模型,并将您的扩展名与自动更新的文件分开。

于 2013-06-14T12:31:30.103 回答
2

这种混淆归因于 ASP.NET MVC 的博客、示例、文档和项目模板。

Model 代表 Model,它实际上是一个 ViewModel,但模板假定您的MViewModel 与您的数据库 Model 相同,但情况几乎不是这样。

于 2013-06-14T12:32:51.543 回答
1

如果你想在一个视图中使用多个表的属性,

您只需要从表中创建一个具有所需属性的模型,然后将该模型绑定到视图,您就会得到结果。

我想有了桌子,这件事是不可能的。因为您可以只从一个对象继承视图

于 2013-06-14T12:32:09.210 回答