我有一个现有的数据库。我希望有一种方法可以从这个数据库生成类文件。但是,我似乎从类文件中看到了很多生成数据库。
有没有办法使用Entity Framework从现有数据库生成类文件?如果是这样的话?有人能指点我一个教程吗?
答案 0 :(得分:118)
1)首先,您需要使用数据库生成EDMX
模型。为此,您应该向项目中添加新项目:
ADO.NET Entity Data Model
。 现在你的项目中有Model1.edmx
个文件。
2)使用您的模型生成类:
EDMX
模型设计师。EF 4.x DbContext Generator for C#
。请注意,项目中添加了两项:
Model1.tt
(此模板为模型中的每个实体生成非常简单的POCO类)Model1.Context.tt
(此模板生成用于查询和保存数据的派生DbContext)3)读/写数据示例:
var dbContext = new YourModelClass(); //class derived from DbContext
var contacts = from c in dbContext.Contacts select c; //read data
contacts.FirstOrDefault().FirstName = "Alex"; //edit data
dbContext.SaveChanges(); //save data to DB
不要忘记您需要4.x版本的EntityFramework。您可以在此处下载EF 4.1:Entity Framework 4.1。
答案 1 :(得分:16)
我找到了非常好的解决方案。 Microsoft发布了Entity Framework Power Tools的测试版:Entity Framework Power Tools Beta 2
在某些点击中,您可以为现有数据库生成POCO类,派生DbContext和Code First映射。非常好!
安装后,一些上下文菜单选项将添加到Visual Studio中。
右键单击C#项目。选择实体框架 - >反向工程师代码优先(为现有数据库生成POCO类,派生DbContext和代码优先映射):
然后选择您的数据库并单击“确定”。就这样!这很容易。
答案 2 :(得分:1)
答案 3 :(得分:1)
EDMX模型不适用于EF7,但我发现社区/专业产品似乎非常强大: http://www.devart.com/entitydeveloper/editions.html