如何从数据库生成 EF Code First model

如何从数据库生成 EF Code First model,第1张

http://msdn.microsoft.com/en-us/gg558520

这句话很好的解释了EDM是个啥玩意。

At

its core, the ADO.NET Entity Framework relies on an Entity Data Model.

An EDM provides all the metadata the framework needs to translate LINQ

queries into

SQL commands

and materialize objects from query results. This metadata includes a

storage model (which describes a database schema), a conceptual model

(which describes entities used in the application), and the mapping between the storage and conceptual models.

1.用T4模版生成POCO Entiteshttp://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx

2.codefirst是先代码后生成数据库的,此文介绍了如何从数据库生成codefirst models http://weblogs.asp.net/jgalloway/archive/2011/02/24/generating-ef-code-first-model-classes-from-an-existing-database.aspx 一下部分是原文copy过来的。

可以使用Entity Framework的Db First模式生成model。

第一步:创建

ASP .NET MVC项目

第二步:创建实体模型

在项目上右击 添加新建项目→Ado.Net实体数据模型

如下图所示

第三步:与现有的数据库进行连接生成EF实体

然后按照如下所示,选择从数据库生成实体数据模型【当然如果你想使用CodeFirst方式也是可以的,这是后话了】:

新建连接到现有的数据库,如下图所示:

点击下一步,选择我们要生成实体对应的表、试图、存储过程等,如下图所示:

最后点击完成,则系统帮我们生成了数据库实体类以及EDMX的定义文件。

如图所示:

相信很多人刚接触EF+MVC的时候,会有这个疑问,就是当我们在model类中加验证信息的时候,会在重新生成model的时候被重写掉。这里介绍一个方法:

比如我有个Employee类是从数据库中生成到model中的,我们可以在Models文件夹中创建一个部分类名称与Employee类同名,然后在新建的部分类中加上我们需要验证信息,这时我们在view页面中引用Models.Employee做为页面model类。这样当我们重新生成model的时候,我们自己定义的部分类Employee就不会受影响了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10873335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存