Linq- ExcuteQuery用法

DataContext.ExecuteQuery<TResult> 方法
(String, Object[])


语法:

public IEnumerable<TResult> ExecuteQuery<TResult>(
string query,
params Object[] parameters
)

类型参数:



TResult:返回的集合中的元素的类型。

参数:



query

类型:System.String
要执行的 SQL 查询。


parameters

类型:System.Object[]
要传递给命令的参数数组。 注意下面的行为: 
如果数组中的对象的数目小于命令字符串中已标识的最大数,则会引发异常。
如果数组包含未在命令字符串中引用的对象,则不会引发异常。
DBNull.Value.‘
data-guid="e868722df197aca8a891fbda7b547f2c">如果某参数为 null,则该参数会转换为 DBNull.Value。

返回值

类型:System.Collections.Generic.IEnumerable<TResult>
由查询返回的对象的集合。

备注:

当 LINQ to SQL
不足以应对特定方案时,此方法可用作一种传递机制。

使查询结果中的列与对象中的字段和属性相匹配的算法如下所示:

  • 如果字段或属性映射到特定列名称,则结果集中应包含该列名称。

  • 如果未映射字段或属性,则结果集中应包含其名称与该字段或属性相同的列。

  • 通过先查找区分大小写的匹配来执行比较。 如果未找到匹配项,则会继续搜索不区分大小写的匹配项。

  • 如果同时满足下列所有条件,则该查询应当返回(除延迟加载的对象外的)对象的所有跟踪的字段和属性:

    • &lt;T&gt; is an entity explicitly tracked by the DataContext.‘
      data-guid="b5283cd06e820bfa8eac0587794db9af">如果 <T> 是由 DataContext 显式跟踪的实体。

    • ObjectTrackingEnabled 为
      true。

    • 实体具有主键。

    否则会引发异常。


  • 在所有其他情况下,查询只能检索对象的已跟踪字段和属性的子集。

下面的 C# 代码段显示此方法的一个用途:


var customers = db.ExecuteQuery<Customer>(@"SELECT CustomerID, CompanyName, ContactName, ContactTitle,
Address, City, Region, PostalCode, Country, Phone, Fax
FROM dbo.Customers
WHERE City = {0}", "London");

foreach (Customer c in customers)
Console.WriteLine(c.ContactName);

Linq- ExcuteQuery用法

时间: 2024-08-11 05:31:33

Linq- ExcuteQuery用法的相关文章

走入asp.net mvc不归路:[6]linq常见用法

asp.net mvc结合linq,先不说性能问题,对于增删查改的操作还是相当方便的.以下我们就来介绍一下linq在asp.net mvc的Controller中的常见用法. 1 首先来看看整个数据表,共有3个表,要访问这个数据库,得有一个代理,这个代理就是edmx文件中继承类DbContext的AllTestEntities 2 实体代理,可以直接在Controller中声明,并且数据库中对应的表,可以无缝对接:使用时,声明一个变量db,然后使用时,要访问相应表或视图,可以直接使用db.Dom

LINQ的用法

本文基于.NET Framework 2.0编写 本文PDF下载 推荐大家下载本文的PDF进行阅读,可以方便的使用书签来阅读各个方法,而且代码中的关键字是高亮显示的. 转载请注明出处. 一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataContext db=new NorthwindDataContext()) { //查询语法 var query =

常用LINQ关键字用法汇总

背景 传统上,针对数据的查询都以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持.此外,还需要针对每种数据源学习一种不同的查询语言:SQL 数据库.XML 文档.各种 Web 服务等等. LINQ 使查询成为 C# 中的一流语言构造. 可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询. 注意事项 版本需求:.NET Framework 3.5 或更高版本 查询对象:SQL Server 数据库.XML 文档.ADO.NET 数据集以及支持 IEnumerabl

linq一般用法

最一般的用法 1 var rows = 2 from c in dataTrue.AsEnumerable() 3 from t in dataPre.AsEnumerable() 4 where t[0].ToString().StartsWith(c[1].ToString()) 5 select new 6 { 7 ID = c[0], 8 dayTime = this.StrDateConvertDateToString(c[1].ToString()), 9 10 value = c[

LINQ 简单用法【1】

LINQ:Language INtegrated Query,语言集成查询. 以下内容演示如何利用LINQ进行增加,修改,删除和查询操作,针对数据库. 首先创建Linq Class. 添加数据库信息,直接Add一个Connection, 输入服务器和登录ID,测试连接成功. 现在可以看到数据库里面的信息了,比如Table. 把需要查询的Table直接拖到界面上来, 好了,现在我们开始写代码进行增删改查: 1.查询 private void btnSelect_Click(object sende

【c#基础】Linq操作符用法说明:

1:筛选 Where :使用where子句,可以合并多个表达式.例如:找出赢得至少15场比赛的美国和英国赛车手 var racers = from r in Formulal.GetChampions() where r.Wins > 15 && (r.Country == "USA" || r.Country == "UK") select r; foreach (var r in racers) { Console.WriteLine($&

linq使用法

http://blog.csdn.net/qq_15117745/article/details/45749359 上星期被要求去项目支援,丫的到月份了,人都跳光了. 还得先学习,LDAP??  一个集团的人员管理系统,70几万人几十个应用服务的SSO单点关联操作,好像很牛的样子... 参考文档: 1.http://baike.baidu.com/link?url=qlh7cwhGpdML3mrWt9an8WFkaYSpSspLzEAEV8v30nh9Y91Zc_RmwX8_RqWiu6ekGM

Linq基本用法

Linq学习随笔二------LINQ to XML

LINQ to XML LINQ to XML provides an in-memory XML programming interface that leverages the .NET Language-Integrated Query (LINQ) Framework. LINQ to XML uses the latest .NET Framework language capabilities and is comparable to an updated, redesigned D

LINQ实践教程

本教程旨在快速掌握LINQ基础用法,以及在此基础上构建复杂LINQ查询,没有任何啰嗦,直接上手. 示例1:最简单的LINQ查询 int[] numbers = { 5, 1, 8, 6, 2, 6, 4, 9, 10, 7, 3 };var nums1 = from n in numbers where n < 5 select n;foreach (var x in nums1){ Console.Write("{0}, ", x);}输出结果:1, 2, 4, 3, 示例2: