entity framework – 生成类
我有一个现有的数据库。 我希望有一种方法来从这个数据库生成类文件。 但是,我似乎看到很多从类文件生成数据库。
有没有办法使用entity framework从现有的数据库生成类文件? 如果这样怎么样? 有人可以指点我的教程吗?
1)首先,您需要使用数据库生成EDMX
模型。 要做到这一点,你应该添加新的项目到您的项目:
- 从“模板”列表中select“
ADO.NET Entity Data Model
”。 - 在“select模型内容”页面上,select“从数据库生成”选项,然后单击“下一步”。
- select你的数据库。
- 在“select您的数据库对象”页面上,选中表格。 如果需要,请select“视图”或“存储过程”。
所以现在你的项目中有Model1.edmx
文件。
2)使用你的模型生成类:
- 打开你的
EDMX
模型devise器。 - 在devise表面右击 – >添加代码生成项目…
- select在线模板。
-
EF 4.x DbContext Generator for C#
selectEF 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 。
我发现非常好的解决scheme。 微软发布了entity framework电力工具testing版 : entity framework电力工具testing版2
在那里你可以生成POCO类,派生DbContext和代码优先映射的现有数据库在一些点击。 这是很不错的!
安装后,一些上下文菜单选项将被添加到您的Visual Studio。
用鼠标右键单击一个C#项目。 selectentity framework – >反向工程师代码优先(为现有数据库生成POCO类,派生DbContext和代码优先映射):
然后select你的数据库,然后点击OK。 就这样! 这很容易。
- 打开EDMX模型
- 右键单击 – >从浏览器更新模型 – >存储过程 – >select您的存储过程 – >完成
- 查看解决scheme资源pipe理器旁边的模型浏览器。
- 转到function导入 – >右键单击您的存储过程 – >添加function导入
- select返回下的实体 – >从下拉菜单中select您的实体名称
- build立你的解决scheme
EDMX模式将不能使用EF7,但我发现一个社区/专业产品似乎是非常强大的: http : //www.devart.com/entitydeveloper/editions.html