繁体   English   中英

实体框架6从现有表创建模型

[英]Entity Framework 6 Create model from existing table

我们必须维护一个非常古老的应用程序。 有一个旧部分(所有数据访问都使用存储过程处理),并且由于我的前任接管了应用程序,他们开始为使用实体框架6的新需求构建新部件。

现在,客户有一个新的需求,需要访问其中一个没有EF模型的表。

是否有一种从现有数据库表自动创建EF模型的简单方法? 我只想要这一个表,而不是整个剩余的数据库! )你知道任何可以实现这个的工具,还是我必须手工编写?

提前致谢

打开实体数据模型(edmx)文件(编辑:或创建一个,如果您还没有),右键单击空白区域中的设计图面,然后选择“从数据库更新模型”。

如果出现提示,请选择正确的连接字符串,然后选择“添加”选项卡,并深入查看要添加的数据库中的表,并按其添加复选标记。 单击完成,您就完成了。

我使用的是EF Power Tools ,它是Visual Studio的插件。

在这里下载

使用该插件,您可以对数据库进行反向工程,以便在应用程序中创建对象和映​​射。 尽管它会节省你很多时间,但请注意它并不完美。 您可能希望查看索引和关系,因为我的案例中缺少某些索引和关系。

要反向设计数据库,它就像这样简单:

Reverse Engineer Code First命令用于生成基于现有数据库的POCO,映射(配置)和派生的DbContext类。

  • 右键单击该项目,然后选择Entity Framework - > Reverse Engineer Code First

  • 输入有关您希望对Code First进行反向工程的现有数据库的信息。

您可以从Microsoft查看此链接以获取完整示例:

https://msdn.microsoft.com/en-us/data/jj593170.aspx

重要提示:自实体框架7(尚未发布)起,仅使用Code First方法。 例如,在选择Model First之类的另一种方法之前,您可能需要考虑这一点。 您可以阅读更多关于: EF7 - “仅代码优先”的含义

查看EF电动工具插件,它为您提供Reverse Engineer Code First上下文菜单以及其他代码生成选项

https://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

你不能只创建一个EDMX,只让它选择你想要它指向的表而不是整个数据库吗?

请参阅本文中的Generate From Database

https://msdn.microsoft.com/en-us/data/jj206878.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM