ado第八课

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多条件分组
var query=from p in db.Products
group p by new { p.CategoryID, p.SupplierID } into g select g; Var query=from p in Products Group p by p.CategoryId into g
Entity Framework 应用程序有以下优点: 应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。
可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构 之间的映射。
EDM
应用
数据库
EDM
EDM
EF中的实体数据模型(EDM)由以下三种映射文件进行定义
概念架构定义语言文件 (.csdl) -- 定义概念模型。 存储架构定义语言文件 (.ssdl) -- 定义存储模型(又称逻辑模型)。 映射规范语言文件 (.msl) -- 定义存储模型与概念模型之间的映射。
ObjectQuery<DbDataRecord> records = query1.Select("it.customerid,it.country");
foreach (DbDataRecord c in records) { Console.WriteLine("{0},{1}", c[0], c[1]); }
EFProviderWrappers(外部组件)
Data Service
创建步骤
创建EDM
创建WCF Data Service 创建调用程序,引用Data Service
在调用程序中实现数据访问
Thanks
河北师范大学软件学院——杜现鹏
ObjectQuery与Entity SQL
string esql = "select value c from NorthwindEntities.Customers as c ";
ObjectQuery<Customers> query1 = edm.CreateQuery<Customers>(esql); //使用ObjectParameter的写法
var theProductsQuery = from product in theProducts where product.ProductName.StartsWith("g")
select product;
数据更新
ObjectContext
AddTo*方法 DeleteObject方法

河北师范大学软件学院---杜现鹏
本节课我们可以学到什么?
Entity Framework
补充LINQ高级话题
本节课我们可以学到什么?
Entity Framework
补充LINQ高级话题
Entity Framework简介
Entity Framework的全称是 Entity Framework,是微软开发的基于 的ORM(Object/Relational Mapping)框架
query1 = query1.Where("it.CustomerId=@customerid");
query1.Parameters.Add(new ObjectParameter("customerid", "ALFKI"));
LINQ TO Entities
ObjectQuery<Product> theProducts = theContext.Product;
Select g;
LINQ TO SQL关系映射
类型:1:M
自动映射 手Байду номын сангаас创建
延迟加载特性 默认开启,DeferredLoadingEnabled=false关闭延迟加 载特性
DataLoadOptions
LoadWith方法,用于立即加载与主目标相关的数据。 AssociateWith方法,用于筛选为特定关系检索到的对 象。
创建Entity Data Model
方式
Visual Studio设计器 命令行:EDMGEN
EDM查询
查询方式
Entity SQL LINQ TO ENTITIES
Entity SQL
Entity SQL算是一门存储独立的语言,它可以对Entity Data Model (EDM) 进行查询。 Entity SQL在语法上与T-SQL类似,但也算有很多不同
EF关系映射
类型:1:M
自动映射 手工创建
延迟加载
默认开启,通过配置ObjectContext的 zyLoadingEnabled = false关闭
立即加载 ObjectSet.Include方法
日志
LINQ TO SQL
DataContext.Log Entity Frmamework
Entity SQL实例
string esql = "select value c from adolessonEntities1.Student as c order by c.StudentNo limit 2";
ObjectQuery<Student> query = context.CreateQuery<Student>(esql);
参考:/en-us/library/bb387118.aspx
ObjectQuery与Entity SQL
ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按顺 序构造等效于 Entity SQL 的查询命令
ObjectQuery与Entity SQL
SaveChanges方法
本节课我们可以学到什么?
LINQ TO Entities
补充LINQ高级话题
LINQ高级话题
LINQ查询
分页查询 多条件分组
LINQ TO SQL及Entity Framework
关系映射
分页
Skip:跳过记录数
Take:获取记录数
string esql1 = "select value c from NorthwindEntities.Customers as c order by c.CustomerID limit 10";
ObjectQuery<Customers> query1 = edm.CreateQuery<Customers>(esql1);
string esql = "select value row(c.StudentNo) from adolessonEntities1.Student as c order by c.StudentNo limit 2";
ObjectQuery<DbDataRecord> query = context.CreateQuery<DbDataRecord>(esql);
相关文档
最新文档