我将 mvc/razor 与数据库优先模型实体框架一起使用。在项目中创建模型和拥有表有什么区别。
示例:我peopleModel.cs
在Models/peopleModel.cs
edmx 文件中有一个表,tblpeople
用相同的字段调用。它们之间有什么区别?
我将 mvc/razor 与数据库优先模型实体框架一起使用。在项目中创建模型和拥有表有什么区别。
示例:我peopleModel.cs
在Models/peopleModel.cs
edmx 文件中有一个表,tblpeople
用相同的字段调用。它们之间有什么区别?
你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
因此,您可以从数据库中更新您的表模型,并将您的扩展名与自动更新的文件分开。
这种混淆归因于 ASP.NET MVC 的博客、示例、文档和项目模板。
Model 代表 Model,它实际上是一个 ViewModel,但模板假定您的M
ViewModel 与您的数据库 Model 相同,但情况几乎不是这样。
如果你想在一个视图中使用多个表的属性,
您只需要从表中创建一个具有所需属性的模型,然后将该模型绑定到视图,您就会得到结果。
我想有了桌子,这件事是不可能的。因为您可以只从一个对象继承视图