来源: http://support.microsoft.com/kb/2588635/zh-tw (繁体)…
MSDN地址:https://msdn.microsoft.com/zh-cn/library/bb399367%28v=vs.100%29.aspx .NET Framework 4 查询是一种从数据源检索数据的表达式. 查询通常用专用查询语言表示,如用于关系数据库的 SQL 和用于 XML 的 XQuery. 因此,开发人员对于他们查询的每种类型的数据源或数据格式,都不得不学习一种新的查询语言. 语言集成查询 (LINQ) 为跨各种数据源和格式处理数据提供了一种更简单的.一致的模型. 在 L…
换了工作有一个月了,一样的工作.一样的代码.一样的体力活仍就…… Linq To Entityes 也是不新玩意了,近半年来也一直与之打交道,但一直也没对其深究过.今天新加的功能要对所有列支持排序,这也不是什么高难度的工作了,对与TSQL来说是写过几百遍了,但在Linq To Enitities中有点小恶心. Linq To Entityes中的对象是个Queryable类型的,Queryable.OrderBy()方法的参数是一个Lamdba source.OrderBy(t=>t.ID).S…
EF中在使用linq就行查询select时不能直接使用自动映射生成的类,需要在单独声明一个类或者使用匿名类在查询完成后再转为对应的对象. public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { using (aspnetdbEntities db = new aspnetdbEntities()) { //MyModel model =…
投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Select 和 SelectMany. 筛选指限制结果集包含与指定的条件匹配的元素的操作. 筛选方法为 Where. LINQ to Entities 中支持大多数投影和筛选方法的重载,除了那些接受位置参数的方法. 联接方法 在面向相互之间没有可导航关系的数据源的查询中,联接是一项重要的操作. 联接两个数据…
我的程序里有这么一段代码: order.OrderExpressInfo = (from oei in orderExpressRepository.Entities where oei.OrderId == order.OrderId select new EbcBuy.Bll.Orders.Models.OrderExpress { ContentInfo = oei.ContentInfo, CreatedTime = oei.CreatedTime, CreatedUserId = oe…
上篇我们讲解了Linq To Entities的一些基本操作,这篇我们主要是讲解一些比较高级的东西:存储过程查询,SQL语句查询以及表达式树. 存储过程 首先来讲解存储过程查询. //Query a stored procedure.(查询存储过程) var tenExpensiveP = from p in nWEntities.Ten_Most_Expensive_Products() select p; foreach (var product in tenExpensiveP) { Co…
1.在工作中碰到这样一个问题: 使用linq时,需要查询两个表,在这两张表中关联字段分别是int,和varchar()也就是string,在linq中对这两个字段进行关联, 如果强制类型转换两个不同类型的字段,就会报响应的扩展方法无法自动推断参数类型的问题(比如:我用的是groupjoin扩展方法), 如果进行了常规的类型转换,比如将int字段对应的转换为string(ToString方法),这时编译的时候不会有问题了. 但是在运行的时候会报如下错误: LINQ to Entities 不识别方…
如果用in是字符串类型无问题,可以直接这样用 ).Where(entity => urls.Contains((entity.NavigateUrl == null ? "" : entity.NavigateUrl).ToLower())).OrderBy(entity => entity.SortCode).ToList(); 如果是数值类型需要按如下处理: 熟悉LINQ的朋友也许会碰到标题的问题,且很自然地想起使用下面地语句实现: IList<int> i…
前言 LINQ(Language Integrated Query,语言集成查询)是一组用于C#和VB.NET语言的扩展,它允许编写C#或者VB.NET代码,以与查询数据库相同的方式操作内存数据. LINQ提Entity Framework技术系列之7:LINQ to Entities供了丰富的类似SQL的查询语法,功能强大且容易上手.下图汇总展示了LINQ技术的官方实现集合: 图1官方LINQ实现汇总图 正 如上图所示,LINQ to Entities 是LINQ技术在实体对象模型中的一种实现…
private sys_User GetUserInfo() { sys_User model = null; var userId = Convert.ToInt32(AccountHelper.GetAccountUserId()); var list = BLLSingleton.Instance.IUserService.GetListBy(c => c.UserId == userId); if (list != null) model = list.FirstOrDefault();…
Linq to  entities ---提供语言集成查询支持用于在概念模型中定义的实体类型. 首先可以根据http://msdn.microsoft.com/en-us/data/jj206878该网页的learn去设置连接数据.从一个现有的数据库进行逆向工程的模型. 如何从数据库查询呢?通过以下简单的语句我们可以做到 using (var data = new ITshowEntities()) //连接数据 { var notice = from  变量 in 数据库.表名 where 表…
本文资料来源:http://www.codeproject.com/Articles/246861/LINQ-to-Entities-Basic-Concepts-and-Features) LINQ to Entities needs an Object Context object. The ObjectContext object is the bridge between LINQ and the database (we will explain more about ObjectCo…
转自: http://www.cnblogs.com/asingna/archive/2013/01/28/2879595.html 实体框架(Entity Framework )是 ADO.NET 中的一套支持开发面向数据的软件应用程序的技术. LINQ to Entities 提供语言集成查询 (LINQ) 支持,它允许开发人员使用 Visual Basic 或 Visual C# 根据实体框架概念模型编写查询.针对实体框架的查询由针对对象上下文执行的命令目录树查询表示.LINQ to En…
说到Linq,很多人都非常熟悉,我们可以很方便的用它来操纵对象的集合.今天要说的是Linq To Entities及其相关的操作.下面一步一步的来进行.这里我着重强调的是语法上面的一些注意点.所以怎么通过ObjectContext生成数据库代理类,我就不说了.下面的代码就是新建一个代理类,通过这个代理类,我们可以查看所有包含的表对象及其字段: NorthWindEntities nWEntities = new NorthWindEntities(); 查询 首先来说说查询操作: //Selec…
这里是原文出处: 简单的概括LINQ LINQ是Language-Integrated Query的缩写,是C# 3.0和VB 9.0中新加入的语言特性,可以在编程时使用内置的查询语言进行基于集合的操作. List<User> userList = GetUserList(); var userWithOddId = from u in userList where u.UserID % 2 == 1 select u; foreach (User u in userWithOddId) {…
LINQ to Entities 是 LINQ 中最吸引人的部分.它让你可以使用标准的 C# 对象与数据库的结构和数据打交道.使用 LINQ to Entities 时,LINQ 查询在后台转换为 SQL 查询并在需要数据的时候执行,即开始枚举结果的时候执行.LINQ to Entities 还为你获取的所有数据提供变化追踪,也就是说,可以修改查询获得的对象,然后整批同时把更新提交到数据库. LINQ to Entities 是 Entity Framework 的一部分并且取代 LINQ to…
LINQ to Entities 是 LINQ 中最吸引人的部分.它让你可以使用标准的 C# 对象与数据库的结构和数据打交道.使用 LINQ to Entities 时,LINQ 查询在后台转换为 SQL 查询并在需要数据的时候执行,即开始枚举结果的时候执行.LINQ to Entities 还为你获取的所有数据提供变化追踪,也就是说,可以修改查询获得的对象,然后整批同时把更新提交到数据库. LINQ to Entities 是 Entity Framework 的一部分并且取代 LINQ to…
1> 排序信息丢失 如果在排序操作之后执行了任何其他操作,则不能保证这些附加操作中会保留排序结果.这些操作包括 Select 和 Where 等.另外,采用表达式作为输入参数的 First 和 FirstOrDefault 方法不保留顺序.如下代码:并不能达到反序排序的效果 using (var edm = new NorthwindEntities()) { IQueryable<Customers> cc = edm.Customers.OrderByDescending(c =&g…
在一个项目中使用LINQ和EF时出现了题目所示的异常,搜索了很多资料都找不到解决办法,主要是因为EF方面的知识欠缺. 先将情况记录如下,以供以后参考. 查询主要设计两张表,由外键关联: 在进行下面的查询时,出现异常:无法将类型“System.Nullable`1”强制转换为类型“System.Object”.LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型. public ActionResult GetIpSegments() { //List<Ipsegment>…
db.UserValidates.Include(a => a.User).Where(uv => u.UserValidates.Contains(uv, c)).ToList(); 执行时出现:Linq to Entities不识别方法 解决方式可以使用lambda表达式树 Expression<Func<UserValidate, bool>> express = uv => u.UserValidates.Contains(uv, c); db.UserV…
今天本想在linq里按照时间筛选一下超时的数据,一共两个字段FeedBackTime(计划反馈时间).EndTime(实际反馈时间).需求是这样的,查找数据库里所有EndTime大于FeedBackTime,且只计算到日,时分秒就不计算了.也就是说 计划时间和实际时间是同一天或实际时间小于计划时间,那么就认为不是超时的. 开始的时候我使用了下面这种方式: query.Where(c =>c.FeedBackTime > c.EndTime.AddDays(1)); 结果报错: LINQ to…
1.LINQ to Entities 不识别方法“System.String get_Item(Int32)”,因此该方法无法转换为存储表达式.项目中发现linq to entities 不识别? ,为何大家都要腰间盘,你的如此突出. Expression<Func<Models.GroupMemberModel, bool>> epression = ep => (ep.GroupId.Equals(gm.GroupId) && ep.MemberId.Eq…
LINQ的全称是Language Integrated Query,中文译成“语言集成查询”,是一种查询技术. LINQ查询通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了查询过程.LINQ查询分为对内存对象的查询(LINQ to Object).对SQL Server数据库的查询(LINQ to SQL).以及对由ADO.NET实体框架创建的实体集进行查询(LINQ to Entities)等(LINQ to DataSet.LINQ to XML). LINQ to Object…
Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源. 我们看看LINQ的总体架构.如下图所示 EF4.1 数据操作及持久化,常见的是DataBase-First与Code-First. DataBase-First是基于已经存在的数据库,利用VS提供的EF设计器创建实体类,数据库对象与实体类的匹配关系,当然,可以手动修改这些自动生成的代码及匹配文件. Code-First这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码自动创建…
Linq to sql中使用DateDiff() 计算时间差的方法 第一种办法: from p in PurchaseLists where EntityFunctions.DiffDays(p.CreateTime,DateTime.Now) >=(p.DayLen/2) select p 报错:System.NotSupportedException: LINQ to Entities 不识别方法“System.Nullable`1[System.Int32] DiffDays(System…
根据用户输入的起始日期,查询以起始日期开始的前20条记录,在ASP.NET MVC的Controller代码中这样写: var Logs = db.Log.Take(20); if (!string.IsNullOrEmpty(dateBegin)) { Logs = Logs.Where(a => a.Date >= Convert.ToDateTime(dateBegin)).Take(); } 运行后,出现下面错误信息: 对于这种情况,要清楚:本表达式只是LINQ to Entities…
LINQ to Entities 不识别方法"System.Guid Parse(System.String)",因此该方法无法转换为存储表达式. linq 中不能转换类型…
一.案例1,及解决方案: "LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式." 原因是LINQ to Entities 不支持ToString()函数. 可用下述方法进行转换解决: string str= "1,2,3,4,5,6,7,8,9,0"; List<int> result = new List<string>(str.Split(…
錯誤提示: LINQ to Entities does not recognize the method 'System.DateTime ToDateTime(System.String)' method, and this method cannot be translated into a store expression. LINQ to Entities 不识别方法“System.DateTime ToDateTime(System.String)”,因此该方法无法转换为存储表达式.…