上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 本节,我们将介绍一些改善EF代码的相关方法,如NoTracking,GetObjectByKey, Include等。l MergeOption.NoTracking当我们只需要读取某些数据 而不需要删除、更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly)。 当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返回,它们会被自动设置为null。因此,使用NoTracking可以提 升查询的性能。示例代码如下:[Test] public void NoTrackingTest() { using 阅读全文
posted @ 2013-06-08 16:02 kelly. 阅读(196) 评论(0) 推荐(0)
摘要: 从Code MSDN上下载下来的EFOracleProvider不支持Oracle9i.但是,目前我所使用的还是Oracle9i。为此,对EFOracleProvider修改了以下,以便使其支持Oracle9i.下面说说具体修改地方.(红色部分为添加或修改的代码部分)一,修改EFOracleProvider1,修改EFOracleProviderManifest.cs类文件,internal const string TokenOracle9i = "9i";//add by xray2005 internal const string TokenOracle10g = & 阅读全文
posted @ 2013-06-08 16:01 kelly. 阅读(285) 评论(0) 推荐(0)
摘要: 在EF中,各个实体的插入、更新和删除也都通过使用存储过程来完成,以便提高点性能。这个类似于数据集。其步骤是:先定义存储过程,然后在VS的可视化设计器,设置存储过程映射即可。下面,以为Supplier实体映射存储过程为例。分别建立插入、更新和删除存储过程。InsertSuppliers存储过程定义如下:CREATE PROCEDURE [dbo].[InsertSuppliers] -- Add the parameters for the stored procedure here@CompanyName nvarchar(40),@ContactName nvarchar(30),@Cont 阅读全文
posted @ 2013-06-08 16:00 kelly. 阅读(161) 评论(0) 推荐(0)
摘要: 目前,EF对存储过程的支持并不完善。存在以下问题:l EF不支持存储过程返回多表联合查询的结果集。l EF仅支持返回返回某个表的全部字段,以便转换成对应的实体。无法支持返回部分字段的情况。l 虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程l EF不能直接支持存储过程中Output类型的参数。l 其他一些问题。本节,我们将学习如何手动添加/修改存储过程,如何使EF能够支持Output类型的参数。l 添加/修改存储过程有时候,某个SQL语句比较复杂,但是数据库中又没有定义相应的存储过程。这个时候,我们又想使上层代码 阅读全文
posted @ 2013-06-08 15:59 kelly. 阅读(181) 评论(0) 推荐(0)
摘要: 系列博客导航:LINQ之路系列博客导航LINQ之路 1:LINQ介绍LINQ之路 2:C# 3.0的语言功能(上)LINQ之路 3:C# 3.0的语言功能(下)LINQ之路 4:LINQ方法语法LINQ之路 5:LINQ查询表达式LINQ之路 6:延迟执行(Deferred Execution)LI... 阅读全文
posted @ 2013-06-08 15:41 kelly. 阅读(267) 评论(0) 推荐(0)
摘要: 目前,EF对存储过程的支持并不完善。存在以下问题:l EF不支持存储过程返回多表联合查询的结果集。l EF仅支持返回返回某个表的全部字段,以便转换成对应的实体。无法支持返回部分字段的情况。l 虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程l EF不能直接支持存储过程中Output类型的参数。l 其他一些问题。下面,主要针对如何使用存储过程,以及存储返回实体、表的部分字段这个几个问题,做具体介绍。l 导入存储过程及返回实体在VS可视化设计器中,打开实体模型(emdx文件)。然后,鼠标右键点击“Customers” 阅读全文
posted @ 2013-06-08 15:24 kelly. 阅读(194) 评论(0) 推荐(0)
摘要: 本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作。通常,复杂类型是指那些由几个简单的类型组合而成的类型。比如:一张Customer表,其中有FristName和LastName字段,那么对应的Customer实体类将会有FristName和LastName这两个属性。当我们想把FirstName和LastName合成一个名为CustomerName属性时,此时,如果要在EF中实现这个目的,那么我们就需要用到复杂类型。目前,由于EF不能显示支持复杂类型,所以我们无法在VS里的可视化设计器里面来设计我们需要的复杂类型。所以,我们需要手动修改实体模型,以便使其支持复杂 阅读全文
posted @ 2013-06-08 15:19 kelly. 阅读(187) 评论(0) 推荐(0)
摘要: 本节,直接写通过代码来学习。这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕。l 增加:方法1:使用AddToXXX(xxx)方法:实例代码如下: using (var edm = new NorthwindEntities()) { Customers c = new Customers { CustomerID = "c#", City = "成都市", Address = "中国四川省", CompanyName = "cnblogs", Country = "中国&qu 阅读全文
posted @ 2013-06-08 15:13 kelly. 阅读(141) 评论(0) 推荐(0)
摘要: System.Data.EntityClient 命名空间是 实体框架的 .NET Framework 数据提供程序。EntityClient 提供程序使用存储特定的 ADO.NET 数据提供程序类和映射元数据与实体数据模型进行交互。EntityClient 首先将对概念性实体执行的操作转换为对物理数据源执行的操作。然后再将物理数据源返回的结果集转换为概念性实体。EntityClient下的类有以下几个:l EntityConnectionl EntityCommandl EntityConnectionStringBuilderl EntityParameterl EntityDataRea 阅读全文
posted @ 2013-06-08 15:03 kelly. 阅读(153) 评论(0) 推荐(0)
摘要: ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询。ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按顺序构造等效于 Entity SQL 的查询命令。下面是 ObjectQuery 的查询生成器方法以及等效的 Entity SQL 语句:Distinct,Except,GroupBy,Intersect,OfType,OrderBy,Select,SelectValue,Skip,Top,Union,UnionAll,Where每个查询生成器方法返回 ObjectQuery 的一个新实例。使用这 阅读全文
posted @ 2013-06-08 14:54 kelly. 阅读(148) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页