- 浏览: 1021745 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
System.Data.EntityClient
EntityClient 提供程序使用存储特定的 ADO.NET 数据提供程序类和映射元数据与实体数据模型进行交互。 EntityClient 首先将对概念性实体执行的操作转换为对物理数据源执行的操作。 该提供程序将从物理数据源返回的结果集转换为概念性实体。
参考 MSDN :
EntityConnection 、 EntityCommand 、 EntityDataReader 使用
为了避免无意使对象(如 System.Data.Common.CommandTrees 和 ObjectContext )与其元数据失去同步, EntityConnection 必须锁定对象的元数据。锁定元数据后,不允许对连接字符串做出任何更改。
下面是锁定元数据的两种方案:
· EntityConnection 实例通过默认的构造函数或接受连接字符串的 EntityConnection(String) 构造函数进行构造。 在任何一种情况下,连接字符串可能在打开连接前进行多次更改。 调用 [M:System.Data.EntityClient.EntityConnection.Open()] 或 [M:System.Data.EntityClient.EntityConnection.GetMetadataWorkspace()] 锁定元数据。
· EntityConnection 实例通过 EntityConnection(MetadataWorkspace, DbConnection) 构造函数进行构造,此构造函数接受 MetadataWorkspace 和 DbConnection 。 在这种情况下,元数据在构造时锁定。 不允许对连接字符串做出任何更改。
加载元数据后, EntityConnection 验证概念性模型、存储模型和映射文件是否全部存在。
代码片断:
//string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["CSharpTestEntities"].Conne
//CSharpTestEntities edm = new CSharpTestEntities();
//string connStr = edm.Connection.ConnectionString;
string connStr = "name = CSharpTestEntities" ; // 这三种方法都可以获取连接字符串
using (EntityConnection conn = new EntityConnection(connStr) )
{
string sqlStr = "select value u from CSharpTestEntities.Users as u order by u.UserID desc" ;
conn.Open();
EntityCommand ecmd = new EntityCommand (sqlStr, conn);
EntityDataReader edr = ecmd.ExecuteReader(CommandBehavior .SequentialAccess);
if (edr.Read())
{
Console .WriteLine(edr["UserID" ]); // 输出第一条
Console .WriteLine(edr[1]); // 如果使用SequentialAccess则需按顺序访问列,否则将抛异常,edr[0]出错。
}
while (edr.Read())
{
Console .WriteLine(edr["UserID" ]); // 接着从第二条开始
Console .WriteLine(edr[1]);
}
Console .WriteLine(ecmd.ToTraceString());
}
注:EntityCommand继承自DbCommand,所以也包括ExecuteDbDataReader、 ExecuteNonQuery 、 ExecuteReader 、 ExecuteScalar等常用方法。
EntityParameter 使用
代码片断:
#region EntityParameter 参数化传递
//string sqlStr = "select value u from CSharpTestEntities.Users as u order by u.UserID desc skip @start limit @end";
//conn.Open();
//EntityCommand ecmd = new EntityCommand(sqlStr, conn);
#region 方法1
EntityParameter p1 = new EntityParameter ("start" , DbType .Int32);
p1.Value = 2;
EntityParameter p2 = new EntityParameter ("end" , DbType .Int32);
p2.Value = 8;
ecmd.Parameters.Add(p1);
ecmd.Parameters.Add(p2);
#endregion
#region 方法2
ecmd.Parameters.AddWithValue("start" , 0);
ecmd.Parameters.AddWithValue("end" , 8);
#endregion
EntityConnectionStringBuilder 使用
代码片断:
#region EntityConnectionStringBuilder 创建连接
EntityConnectionStringBuilder esb = new EntityConnectionStringBuilder ();
esb.Provider = "System.Data.SqlClient" ;
esb.Metadata = @"res://*/CSharpTestEF.csdl|res://*/CSharpTestEF.ssdl|res://*/CSharpTestEF.msl" ;
esb.ProviderConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=CSharpTest;Integrated Security=True;MultipleActiveResultSets=True" ;
EntityConnection econn = new EntityConnection (esb.ConnectionString);
#endregion
补充:
#region CommandBehavior 枚举
/*
需要注意的是:CommandBehavior.SequentialAccess;这个地方。不同的枚举项,对查询会有不同影响。枚举如下:
Default 此查询可能返回多个结果集。在功能上等效于调用 ExecuteReader()。
SingleResult 查询返回一个结果集。
SchemaOnly 查询仅返回列信息。
KeyInfo 此查询返回列和主键信息。
SingleRow 查询应返回一行。
SequentialAccess 提供一种方法,以便 DataReader 处理包含带有大二进制值的列的行。
CloseConnection 在执行该命令时,如果关闭关联的 DataReader 对象,则关联的 Connection 对象也将关闭。
*/
#endregion
发表评论
-
C# LINQ to SQL
2017-07-28 12:48 6751、Concat(连接不同的集合不会自动过滤相同项。会延迟计 ... -
基于 EntityFramework 的数据库主从读写分离服务插件
2017-03-08 15:06 11711. 版本信息和源码 1.1 版本信息 v1.01 be ... -
EF6(CodeFirst)+MySql开发
2017-01-06 14:08 1563如题,本文是使用EntityFramework6框架的感悟( ... -
<Entity Framework> - 直接执行数据库命令
2016-08-10 15:00 1550使用 EF 4.1 或者更新版本, 你可以直接执行任何数据库 ... -
EntityFramework执行SQL语句
2016-08-10 14:58 1044在EF中执行Sql语句。 Insert Code: ... -
EntityFramework 执行SQL语句进行参数化查询代码示例
2016-08-10 14:59 1920在我们用EntityFramework时,一般情况下我们是要 ... -
Entity Framework 学习中级篇—使EF支持Oracle9i
2011-07-05 16:57 3007从Code MSDN上下载下来的EFOracleProvide ... -
Entity Framework 学习中级篇—EF支持复杂类型的实现
2011-07-05 16:56 12705http://www.cnblogs.com/xray20 ... -
Entity Framework 学习初级篇--ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateMa
2011-07-05 16:55 6944本节,简单的介绍EF中的 ObjectContext ... -
Entity Framework 学习初级篇--EF基本概况
2011-07-05 16:53 3698自从Entity Framework(EF ... -
Entity Framework 学习高级篇—改善EF代码的方法
2011-07-05 16:39 10156本节,我们将介绍一些改善EF代码的相关方法,如NoTrac ... -
Entity Framework 学习总结之十一:POCO
2011-06-30 11:24 12098POCO Entity Framework ... -
Entity Framework 学习总结之十:加载相关对象
2011-06-30 11:23 3814加载相关对象 实体类型可以定义在数据模型中表 ... -
Entity Framework 学习总结之九:LinqToEntities
2011-06-30 11:22 1648介绍 LINQ to Entities ... -
Entity Framework 学习总结之八:EntitySQL 复杂查询及函数
2011-06-30 11:21 2967复杂查询及函数 外键 Entity ... -
Entity Framework 学习总结之七:EntitySQL 基本查询
2011-06-30 11:20 2121Entity SQL 基本查询 SW ... -
Entity Framework 学习总结之六:EntitySQL 介绍入门
2011-06-30 11:19 2033Entity SQL Language 简介 ... -
Entity Framework 学习总结之四:对象服务介绍使用
2011-06-30 11:18 3090System.Data.Objects (System ...
相关推荐
7. EntityClient:提供了与Entity Framework的数据提供者交互的API,用于连接和执行Entity SQL查询。 中级篇则深入探讨了更高级的功能: 1. 复杂类型支持:允许定义更复杂的实体属性,超越简单的值类型和引用类型。...
Entity Framework 6以模型方式搭建Sqlite数据库环境 Visual studio 2010 .net40 完成CURD 未处理 System.Configuration.ConfigurationErrorsException ... Source=System.Data ... Source=EntityFramework Line=0
EF4不直接支持批量操作,但可以通过扩展方法或第三方库如EntityFramework.Extended来实现,以提高性能。 ## 性能优化 1. **延迟加载**:默认情况下,EF4启用延迟加载,即只有在需要时才加载关联的数据。若不需要,...
### Entity Framework 学习知识点概览 #### 一、Entity Framework 概述 - **Entity Framework** 是微软推出的一种 **对象关系映射 (ORM)** 技术,它允许开发者使用对象编程模型来处理数据库,而无需关注底层的关系...
总结起来,这个文档系列全面地涵盖了Entity Framework的基础到高级使用,包括其核心概念、主要类的使用、查询语言、数据库操作、存储过程支持以及性能优化。对于想要掌握Entity Framework的开发者,这是一份非常宝贵...
### Entity Framework 学习知识点详解 #### 一、Entity Framework 基本概况 - **定义**: Entity Framework (简称 EF) 是 Microsoft 推出的一种对象关系映射 (ORM) 框架,允许开发者通过面向对象的方式来操作数据库...
ADO.NET Entity Framework 4.1 是微软开发的一个强大的对象关系映射(ORM)框架,它构建在 ADO.NET 之上,旨在简化数据库应用程序的开发。这个框架允许开发人员使用面向对象的编程方式来操作数据库,而无需直接编写...
Entity Framework(EF)是微软提供的一款强大的对象关系映射(ORM)框架,它允许开发者使用.NET语言(如C#或VB.NET)来操作数据库,而无需编写大量的SQL语句。这个文档系列涵盖了从初级到高级的EF学习路径,旨在帮助...
微软推出的ADO.NET Entity Framework(以下简称EF)作为一种强大的对象关系映射(ORM)工具,为.NET开发者提供了高效、灵活的数据访问解决方案。本文旨在对EF进行全面介绍,帮助读者掌握其核心概念与应用技巧。 ###...
在学习Entity Framework时,我们可以分为初级、中级和高级三个阶段逐步深入: **初级篇:** 1. **EF 基本概况**:这部分介绍了Entity Framework的基本概念,包括它的设计理念、架构以及与数据库交互的核心组件。...
### Entity Framework概述 Entity Framework(简称EF)是微软开发的一款对象关系映射(ORM)框架,主要用于.NET平台上的应用程序与数据库进行交互。它提供了一种简单而强大的方式来处理数据库中的数据,允许开发者...
Entity Framework的核心概念之一是实体数据模型(Entity Data Model, EDM)。EDM是一种抽象的数据表示,它将数据库模式转化为对象模型。在System.Data.Entity中,实体类(Entity Class)代表数据库表,属性...
EntityClient 是一个提供连接管理、查询执行和数据读取的服务,它是Entity Framework与数据库通信的桥梁。使用EntityClient,开发者可以创建EntityConnection和EntityCommand,执行数据库查询。 8. 增加、更新、...
- **高级API**:Entity Framework支持EntityClient、ObjectContext以及LINQ等多种API,提供了丰富的数据访问功能。 - **新的开发模式**:随着版本的发展,EF引入了DbContext API以及Code First模式。DbContext API是...
### EntityFramework资料:从入门到精通 #### EF基本概况 **Entity Framework (EF)** 是一个在 .NET 平台上的对象关系映射 (ORM) 框架,它允许开发人员通过对概念性的应用程序模型进行编程来创建数据访问层的应用...
2. 在搜索框中输入“EntityFramework”,找到“EntityFramework”并安装最新版本。 3. 对于MySQL支持,还需搜索“MySql.Data.Entity”,安装后即可启用EF6与MySQL的集成。 接下来,配置数据库连接: 1. 在App....
实体框架(Entity Framework,简称EF)是微软推出的一款强大的对象关系映射(ORM)工具,它构建于ADO.NET之上,旨在解决将业务对象持久化到关系数据库的问题,从而避免程序员需要直接编写SQL语句。ORM技术的主要目标...