错误代码: var orders = db.Orders.Where(o => o.UserId == userid).Select(c => new Order {   OrderId = c.OrderId, OrderDate = c.OrderDate, Total = c.Total, OrderDetails = db.OrderDetailss.Where(od => od.OrderId == c.OrderId).ToList()   }   ).ToList();…
public List<CustomerType> GetCustomerTypesBySchemaTypeCode(int schemaTypeCode) { var query = (from a in _reportTypeRepository.TableNoTracking.Where(v => v.SchemaType == schemaTypeCode) group a by new { a.CustomerTypeId, a.SchemaType } into g sele…
投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Select 和 SelectMany. 筛选指限制结果集包含与指定的条件匹配的元素的操作. 筛选方法为 Where. LINQ to Entities 中支持大多数投影和筛选方法的重载,除了那些接受位置参数的方法. 联接方法 在面向相互之间没有可导航关系的数据源的查询中,联接是一项重要的操作. 联接两个数据…
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 =…
最近在做一个报表的时候,用EF使用了Contact方法,但是程式运行一直出错.最近终于找到原因了,写下来提醒下自己.好了,进入正题: 现在我举个栗子,目前数据库中有ParentStudent表和SubStudent表,现在需要将两张表联合起来后再使用分页查询. 表ParentStudent和SubStudent的结构完全一样,我这边就只展示SubParent表的结构了: CREATE TABLE [dbo].[SubStudent]( [ID] [varchar]() NOT NULL, [Na…
转自: 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…
1> 排序信息丢失 如果在排序操作之后执行了任何其他操作,则不能保证这些附加操作中会保留排序结果.这些操作包括 Select 和 Where 等.另外,采用表达式作为输入参数的 First 和 FirstOrDefault 方法不保留顺序.如下代码:并不能达到反序排序的效果 using (var edm = new NorthwindEntities()) { IQueryable<Customers> cc = edm.Customers.OrderByDescending(c =&g…
创建要查询的对象: class Employee { public int ID { get;set; } public string FName { get; set; } public int Age { get; set; } public char Sex { get; set; } } 如果对这个类的Age和Sex的连个字段进行分组,方法如下: // 先造一些数据 List<Employee> empList = new List<Employee>(); empList…
我的程序里有这么一段代码: 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…
在工作中遇到个问题,在使用lamda查询数据的时候,需要添加一个时间判断, DateTime.AddDays(3) > e.ExpirationDate 例如:list = Context.VoucherUserSignPLView.Where(e => e.IsUse == isUse && e.ExpirationDate >= DateTime.Now && DateTime.AddDays(days) > e.ExpirationDate).…
今天本想在linq里按照时间筛选一下超时的数据,一共两个字段FeedBackTime(计划反馈时间).EndTime(实际反馈时间).需求是这样的,查找数据库里所有EndTime大于FeedBackTime,且只计算到日,时分秒就不计算了.也就是说 计划时间和实际时间是同一天或实际时间小于计划时间,那么就认为不是超时的. 开始的时候我使用了下面这种方式: query.Where(c =>c.FeedBackTime > c.EndTime.AddDays(1)); 结果报错: LINQ to…
MSDN地址:https://msdn.microsoft.com/zh-cn/library/bb399367%28v=vs.100%29.aspx .NET Framework 4 查询是一种从数据源检索数据的表达式. 查询通常用专用查询语言表示,如用于关系数据库的 SQL 和用于 XML 的 XQuery. 因此,开发人员对于他们查询的每种类型的数据源或数据格式,都不得不学习一种新的查询语言. 语言集成查询 (LINQ) 为跨各种数据源和格式处理数据提供了一种更简单的.一致的模型. 在 L…
前言 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技术在实体对象模型中的一种实现…
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…
一.概念: Database First(数据库优先):存在的DB------------->生成Data Model  .edmx文件 Model First(模型优先):Data Model .edmx文件-------------->生成DB DLL 二.新建ObjectContext 和EntityObject 通过设计器添加ADO.NET Entity Data Model项,GW.edmx生成代码: 三.实体对象查询 1.linq to Entities查询 2.lambda表达式…
#region Linq to 集合查询非泛型集合要指定Student类型            //ArrayList list = new ArrayList();            //list.Add(new Student { Name = "Tom", Age = 17 });            //list.Add(new Student { Name = "Jerry", Age = 16 });            //list.Add(…
如果用in是字符串类型无问题,可以直接这样用 ).Where(entity => urls.Contains((entity.NavigateUrl == null ? "" : entity.NavigateUrl).ToLower())).OrderBy(entity => entity.SortCode).ToList(); 如果是数值类型需要按如下处理: 熟悉LINQ的朋友也许会碰到标题的问题,且很自然地想起使用下面地语句实现: IList<int> i…
1.在工作中碰到这样一个问题: 使用linq时,需要查询两个表,在这两张表中关联字段分别是int,和varchar()也就是string,在linq中对这两个字段进行关联, 如果强制类型转换两个不同类型的字段,就会报响应的扩展方法无法自动推断参数类型的问题(比如:我用的是groupjoin扩展方法), 如果进行了常规的类型转换,比如将int字段对应的转换为string(ToString方法),这时编译的时候不会有问题了. 但是在运行的时候会报如下错误: LINQ to Entities 不识别方…
原文:Linq to Sql:N层应用中的查询(上) : 返回自定义实体 如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示:而且可以充分应用L2S的延迟加载特性,来进行动态查询.但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应用Linq to sql,则情况就比…
Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只返回第一个,但是这里返回的是一个集合,而不是单个的概念. LINQ 标准的查询操作符 排序 orderby.thenby.Take 要对序列排序,前面使用了 orderby  子句.下面复习一下前面使用 orderby descending  子句的例子.其中 赛手按照赢得比赛的次数进行降序排序,赢…
问题解决连接:https://stackoverflow.com/questions/5325797/the-entity-cannot-be-constructed-in-a-linq-to-entities-query 链接是外文,我来翻译一下,意思是相通的,主要是记录一下供以后自己参考 问题描述:  product这个类是EF跟数据库实体关联的类,然后写了如下一个查询方法 public IQueryable<Product> GetProducts(int categoryID) { r…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Linq; using System.Xml.Linq; using System.Xml; using System.Windows.Forms; namespace ConsoleApplication27 { class Program…
建议31:在LINQ查询中避免不必要的迭代 无论是SQL查询还是LINQ查询,搜索到结果立刻返回总比搜索完所有的结果再将结果返回的效率要高. 示例代码: class MyList : IEnumerable<Person> { //为了演示需要,模拟了一个元素集合 List<Person> list = new List<Person>() { }, }, }, }, } }; /// <summary> /// 迭代次数属性 /// </summar…
建议29:区别LINQ查询中的IEnumerable<T>和IQueryable<T> LINQ查询一共提供了两类扩展方法,在System.Linq命名空间下,有两个静态类:Enumerable类,它针对继承了IEnumerable<T>接口的集合进行扩展:Queryable类,它针对继承了IQueryable<T>接口的集合类进行扩扎.接口IQueryable<T>也是继承了IEnumerable<T>接口的,所以,致使两个接口的方…
换了工作有一个月了,一样的工作.一样的代码.一样的体力活仍就…… Linq To Entityes 也是不新玩意了,近半年来也一直与之打交道,但一直也没对其深究过.今天新加的功能要对所有列支持排序,这也不是什么高难度的工作了,对与TSQL来说是写过几百遍了,但在Linq To Enitities中有点小恶心. Linq To Entityes中的对象是个Queryable类型的,Queryable.OrderBy()方法的参数是一个Lamdba source.OrderBy(t=>t.ID).S…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-7  标识关系中使用依赖实体 问题 你想在标识关系中插入,更新和删除一个依赖实体. 解决方案 假设你有如图7-8所示的模型.实体LineItem的实体键是一个复合键.由InvoiceNumber和ItemNumber复合而成.InvoiceNumber同是也是一个外键. 图7-8. Invoie和LineItem是一个标识关系,这是因为实体LineItem的复合实体键 当实体的一个属性,…
Linq to  entities ---提供语言集成查询支持用于在概念模型中定义的实体类型. 首先可以根据http://msdn.microsoft.com/en-us/data/jj206878该网页的learn去设置连接数据.从一个现有的数据库进行逆向工程的模型. 如何从数据库查询呢?通过以下简单的语句我们可以做到 using (var data = new ITshowEntities()) //连接数据 { var notice = from  变量 in 数据库.表名 where 表…
这篇博客总结本人在实际项目中遇到的一些关于EF或者Linq的问题,作为以后复习的笔记或者供后来人参考(遇到问题便更新). 目录 技巧1: DbFunctions.TruncateTime()的使用 技巧2: Linq中对Datetime字段按照年月分组以及DbFunctions.CreateDateTime()的使用2016/4/2 [新增] 技巧1: DbFunctions.TruncateTime()的使用 有没有遇到做这样的错误: LINQ to Entities does not rec…