SQL Server 2008 Entity Data Model 和 Linq to Entities
来源:互联网 发布:php 程序调用文件记录 编辑:程序博客网 时间:2024/06/05 16:58
转自:http://www.xker.com/page/e2009/0415/71272_4.html
SQL Server 2008 带给大家的新特性之一就是 Entity Data Model 。使用它可以很方便的创建数据模型,并且它和Linq有着近乎完美的结合。这次我们就一起来体验下 Entity Data Model 给我们带来的便利。
先来说下我的系统环境:
1. Windows Server 2003
2. VS2008
3. SQL Server 2008
4. Pubs2数据库
注意,使用Entity Data Model 是 SQL Server 2008 带给我们的新特性,所以不能使用SQL Server 2005 来做实验。
好,下面我们进入正题
1. 启动Visual Studio 2008。
2. 创建一个 Console Application 项目 pubs2edmapp。
3. 在右侧Solution Explorer 中,右键点击项目 pubs2edmapp,然后点击Add New Item,在 Add New Item 对话框中选择 ADO.net Entity Data Model。将新建项目命名为pubs2.edmx,然后点击ADD。
4. 在Entity Data Model Wizard 对话框中,选择 Generate from database. 然后点击Next。
6. 勾选 Save Entity Connection string in App.Config 并保留默认设置,点击 Next。
7. 在 Choose You Database Objects 对话框中,选中 Tables,Views,以及 Stored Procedures.在 Model Namespace 中设置为 pubsModel.点击Finish.
8. 此时会出现图形化的 Object Relational Designer 面板。
9. 保存模型。
Model Browser 中的 Entity 实体。可以看到 Table , Views , Stored Procedures 都被加载了进来。
10. 点击 Build 菜单下的 Build Solution 编译项目。
11. 打开 Program.cs 在 Main 方法中,实例化pubsEntities . 将变量命名为 model.
12. 为了能够看到生成的 T-SQL 语句,我们创建一个 helper 类,其中包含一个 helper 方法。
注意上面的 using System.Data.Objects; 的引用。Helper 实际上是扩展的Linq,这也是vs08的新特性,有兴趣的自己去研究吧。
13. 打开 ObjectContext 的连接。14. 新建一个名为 SimpleQueries 的 public static 方法,将 pubsEntities 作为输入参数且无返回值。在这个方法中我们使用 Linq 查询。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace pubs2endmapp
{
class Program
{
static void Main(string[] args)
{
pubs2endmapp.pubsEntities1 model = new pubsEntities1();
model.Connection.Open();
SimpleQueries(model);
model.Connection.Close();
Console.Read();
}
public static void SimpleQueries(pubsEntities1 model)
{
var query1 = from a in model.authors
select new { a.au_id, a.au_fname, a.au_lname };
foreach (var query in query1)
{
Console.WriteLine("au_id:{0,-20} au_fname:{1,-20} au_lname:{2,-20}"
,query.au_id,query.au_fname,query.au_lname);
}
Console.WriteLine("SQL: " query1.ToTraceString());
}
}
}
完整代码如上。
15. 编译并执行代码。
实验到此结束。
现在我们可以很简单的通过 Linq 实现数据库的操作了。
- SQL Server 2008 Entity Data Model 和 Linq to Entities
- 比较LINQ to SQL Diagram 和Entity Data Model
- ADO.NET - Entity Data Model vs. LINQ To SQL
- 分别使用ADO.Net Entity Data Model 和Linq to Sql 建立数据访问层
- LINQ to SQL's GetOriginalEntityState 不包含 EntitySet or Entity Ref Data for Related Entities
- Choosing LINQ to Entities vs Entity SQL vs. EntityClient
- Silverlight + WCF使用Linq to SQL以及ADO.NET Entity Data Model更新数
- Silverlight + WCF使用Linq to SQL以及ADO.NET Entity Data Model更新数据库子表方法
- LINQ to SQL和Entity Framework对比
- LINQ to SQL和Entity Framework对比
- LINQ TO SQL 和 ADO.NET ENTITY
- Entity Framework 学习初级篇3-- LINQ TO Entities
- ADO.NET Entity Framework & LINQ to Entities - deel 1
- Entity Framework 学习初级篇3-- LINQ TO Entities
- Entity Framework技术系列之7:LINQ to Entities
- Entity Framework学习初级篇3--LINQ TO Entities
- LINQ to SQL (Part 2 - Defining our Data Model Classes)
- LINQ to SQL与LINQ to Entities场景之对照
- 如何查看80端口被占用
- java类加载与代码块
- android sdk 文件目录含义介绍
- 当网站不允许上传ASP,CGI,CER,CDX,HTR等类型的文件时
- ssh搭建过程
- SQL Server 2008 Entity Data Model 和 Linq to Entities
- HBase scan的客户端分析
- uboot 的启动过程及工作原理
- 利用QQ文件中转站给多个好友或群友传送文件
- 大话设计模式-工厂模式
- 使用juery treeview 出现的点击文本不进行展开的问题
- ios 创建和绘画pdf文件
- 《转》svn命令
- xcode4的环境变量,Build Settings参数,workspace及联编设置