【翻译】EF 4.2 Model & Database First演示
一、创建应用程序#
为了使问题简单,我们建立一个基本的控制台应用程序,使用DbContext执行数据访问:
1. 打开Visual Studio 2010
2. File -> New -> Project…
3. 从左侧菜单中选择"Windows",然后选择"Console Application"
4. 输入"ModelFirstSample"作为名字
5. 选择"OK"
二、创建模型#
1. 让我们继续,在项目中添加一个Entity Data Model:
2. Project –> Add New Item…
3. 从左侧菜单选择"Data"
4. 从可用项目列表中选择"ADO.NET Entity Data Model"
5. 命名为"PersonModel.edmx"
6. 单击"Add"
本次演示使用Model First,但是如果要映射到一个现有的数据库,那么选择"Generate from database",根据提示操作,然后跳到步骤四。
7. 选择"Empty model"
8. 单击"Finish"
让我们往模型中添加一个Person实体:
9. 在设计器上右击 –> Add –> Entity
10. 命名实体为"Person"
11. 单击"OK"
12. 在Person实体上右击–> Add –> Scalar Property
13. 命名属性为"FullName"
三、创建数据库#
现在我们已经定义了模型,接下来我们就可以生成数据库架构存储数据了:
1. 右击 –> Generate Database from Model
2. 单击"New Connection…"
3. 在Select or enter a database name中输入"ModelFirstSample"
4. 在提示创建数据库对话框中选择"是"
5. 单击"Next",然后"Finish"
6. 在生成的脚本上,右击 –> Execute SQL…
7. 指定你的数据库服务器,然后单击"Connect"
四、DbContext代码生成#
PersonModel通常派生自ObjectContext,实体类派生自EntityObject,但是我们想使用简化的DbContext API。
使用DbContext,我们需要安装EntityFramework NuGet包:
1. Project –> Add Library Package Reference…
2. 选择"Onlie"选项卡
3. 搜索"EntityFramework"并选择该包
4. 点击"Install"
另一种方法是在Package Manager Console中输入"Install-Package EntityFramework"安装。
现在可以使用DbContext代码生成模板了:
1. 在设计器上右击–> Add Code Generation Item…
2. 在左侧菜单中选择"Online Templates"
3. 搜索"DbContext"
你会注意到有两个项添加到你的项目中:
PersonModel.tt
这个模板为模型中的每个实体生成非常简单的POCO类
PersonModel.Context.tt
这个模板生成一个派生自DbContext的类,用来查询和持久化数据
五、读写数据#
是时候访问一些数据了。代码在Program文件中的Main方法中,如下:
class Program { static void Main(string[] args) { using (var db = new PersonModelContainer()) { // Save some data db.PersonSet.Add(new Person { FullName = "Bob" }); db.PersonSet.Add(new Person { FullName = "Ted" }); db.PersonSet.Add(new Person { FullName = "Jane" }); db.SaveChanges(); // Use LINQ to access data var people = from p in db.PersonSet orderby p.FullName select p; Console.WriteLine("All PersonSet:"); foreach (var person in people) { Console.WriteLine("- {0}", person.FullName); } // Change someones name db.PersonSet.First().FullName = "Janet"; db.SaveChanges(); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }
#
总结#
在这个演示中,我们使用DbContext API进行Model First开发。我们创建了一个模型,生成了数据库,交换DbContext代码生成以及保存和查询数据。
作者:程序旅途
出处:https://www.cnblogs.com/nianming/archive/2011/11/16/2251599.html
版权:本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!