今天在改写架构的时候,遇到这么个错误.当时单从字面意思,看上去错误是由join的两个不同的表来源不一致引起的. 其中的videoResult和deerpenList均来自与同一个edmx文件,所以两个表的来源不一致导致了错误的发生,这个猜想是不正确的. 正在左右为难之际,在stackoverflow上面发现了一个主题,正好解决了我的难题.这个问题的回答是这样的: This can happen if your Context property returns a new instance eve…
The specified LINQ expression contains references to queries that are associated with different cont. 解决方法: 查询源的最后添加.ToList(); 一定是哪里转换成了IEnumerable或其他东东了ToList 就好了!…
源代码:TypeMapper.zip 背景 项目中,我们会经常用到各种赋值语句,比如把模型的属性赋值给UI,把视图模型的属性拷贝给Entity.如果模型属性太多,赋值也会变成苦力活.所以,框架编程的思维中,出现了”绑定“.绑定不仅可以简化赋值,还可以结合验证,简化绑定过程中的验证. 能实现绑定的框架很多,如AutoMapper,.Net自带的绑定机制,微软官方上还有一个利用绑定的Sample,等. 那些成熟的框架一般功能全面,考虑周全,一般推荐首选.但对于一些小项目个别情况,或许它们就会显得有些…
Get Argument Values From Linq Expression If you even find yourself unpacking an expression in C#, you might find this useful. I found myself in need of obtaining a list of argument values from within an Expression<func> expression that sometimes had…
今天在百度知道中看到一个问题,研究了一会便回答了: http://zhidao.baidu.com/question/920461189016484459.html 如何使dto linq 表达式转换到数据库实体对象linq表达式.自己搜集了一些资料然后实战了一下,还是可行. 自己扩展的一个方法 Cast<TInput, TToProperty>(this Expression<Func<TInput, bool>> expression),代码如下: namespac…
using System; using System.IO; using System.Linq; using System.Linq.Expressions; internal static string[] EnumerateMultiExtensionFiles(string directory, string searchPattern, SearchOption searchOption) { IQueryable<string> queayableFiles = Directory…
在用了LINQ語法之後的一個月,我幾乎把SQL語法全部拋到腦後了,不過 LINQ好用歸好用,但是實際上操作資料庫的還是SQL語法,如果不知道LINQ語法 編譯過後產生怎樣的SQL語法,一不小心效能就會變差,所以今天來記錄三種查詢 LINQ所轉換的SQL語法. 第一種: 參考自:ADO.Net Entity Framework : (一) 查詢執行時的SQL語法 第一種方法應該只適用在Entity Framework,Linq to Sql有沒有這個或類似的方法我還沒去試 1 NorthwindE…
variable point to code variable expression tree data structure lamda expression anonymous function 原文 Newcomers to LINQ often find expression trees difficult to grasp. In this post I hope to show that the subject is not quite as difficult as it might…
从自己的印象笔记里面整理出来,排版欠佳.见谅!   1.LINQ: 语言集成查询(Language Integrated Query) 实例: var q=      from c in categories      join p in products on c equals p.Category into ps select new{Category=c, Products=ps}; 2.LINQ 类型 LINQ to Objects(或称LINQ to Collection),这是LIN…
I always considered Left Outer Join in LINQ to be complex until today when I had to use it in my application. I googled and the firstresult gave a very nice explanation. The only difference between ordinary joins (inner joins) and left joins in LINQ…
前面介绍了Linq的三个方面应用:Linq to SQL, Linq to XML和Linq to Object,这篇介绍一下动态Linq的实现方式及应用场景. 命名空间: System.Linq; System.Linq.Expressions; 应用Linq的时候,我们都知道仅仅须要Lambda表达式即可,但有些场景仅仅仅仅使用Data Model的字段名操作是不够的或者不方便的. 场景1:如果我们须要拼接Where条件进行查询,一种方式能够拼接IQueryable的表达式.但我想像写SQL…
动手实现Expression翻译器 – Part I   伴随.Net3.5到来的Expression,围绕着它产生了各种各样有趣的技术与应用,Linq to object.Linq to sql.Linq to sqllite.Linq to Anything啊~~各种舒爽不侧漏.当然Expression的应用肯定不会狭隘到只能在Linq查询里,只是它本身的性质很适合作为查询表达.不过本系列的目的只是实现自己的Expression翻译器,其他不做探讨. 一. 明确需求 a) 翻译什么(Expr…
这篇文章将在前人的肩上,继续完成实现Linq Provider的任务. 首先,我们列出linq语法的解析过程: linq本质上就是把我们惯用的语法糖,变成了一颗表达式树,然后由不同的linq Provider根据表达式树的内容,转化为自己所需要的数据结构,进而进行真正的数据查询. 实现自己的Linq Provider不是一件很难的事情,最关键的就是实现如下接口: public TResult Execute<TResult>(System.Linq.Expressions.Expression…
拥有476550数据的一张数据表.使用其中的某个字段分组,然后按该字段进行排序.该需求分别使用LinQ to SQL和non-LinQ的方式实现,然后来看一下performance对比. LinQ way from p in context.Part_Part group p by p.FunctionGroup into groupedPs orderby groupedPs.Key select groupedPs LinQ way for group non-LinQ way var re…
大家可能都知道Expression Tree是.NET 3.5引入的新增功能.不少朋友们已经听说过这一特性,但还没来得及了解.看看博客园里的老赵等诸多牛人,将Expression Tree玩得眼花缭乱,是否常常觉得有点落伍了呢?其实Expression Tree是一个一点就透的特性,只要对其基本概念有了一定的了解,就可以自己发挥出无数的用法.特别是之前对Reflection,泛型等知识有过一些了解的话,就会发现Expression Tree的加入绝对是你工作中的得力助手.如果你是Expressi…
大家可能都知道Expression Tree是.NET 3.5引入的新增功能.不少朋友们已经听说过这一特性,但还没来得及了解.看看博客园里的老赵等诸多牛人,将Expression Tree玩得眼花缭乱,是否常常觉得有点落伍了呢?其实Expression Tree是一个一点就透的特性,只要对其基本概念有了一定的了解,就可以自己发挥出无数的用法.特别是之前对Reflection,泛型等知识有过一些了解的话,就会发现Expression Tree的加入绝对是你工作中的得力助手.如果你是Expressi…
1.LINQ简述 2.LINQ优雅前奏的音符 2.1.隐式类型 (由编辑器自动根据表达式推断出对象的最终类型) 2.2.对象初始化器 (简化了对象的创建及初始化的过程) 2.3.Lambda表达式 (对匿名方法的改进,加入了委托签名的类型推断并很好的与表达式树的结合) 2.4.扩展方法 (允许在不修改类型的内部代码的情况下为类型添加独立的行为) 2.5.匿名类型 (由对象初始化器推断得出的类型,该类型在编译后自动创建) 2.6.表达式目录树(用数据结构表示程序逻辑代码) 3.LINQ框架的主要设…
大家可能都知道Expression Tree是.NET 3.5引入的新增功能.不少朋友们已经听说过这一特性,但还没来得及了解.看看博客园里的老赵等诸多牛人,将Expression Tree玩得眼花缭乱,是否常常觉得有点落伍了呢?其实Expression Tree是一个一点就透的特性,只要对其基本概念有了一定的了解,就可以自己发挥出无数的用法.特别是之前对Reflection,泛型等知识有过一些了解的话,就会发现Expression Tree的加入绝对是你工作中的得力助手.如果你是Expressi…
Performance Considerations for Entity Framework 5 By David Obando, Eric Dettinger and others Published: April 2012 1. Introduction Object-Relational Mapping frameworks are a convenient way to provide an abstraction for data access in an object-orient…
Build 4.0.0.Alpha1 =============================   ** Known BREAKING CHANGES from NH3.3.3.GA to 4.0.0       NHibernate now targets .Net 4.0. Many uses of set types from Iesi.Collections have     now been changed to use corresponding types from the BC…
When writing tests for your application it is often desirable to avoid hitting the database.  Entity Framework allows you to achieve this by creating a context – with behavior defined by your tests – that makes use of in-memory data. This article wil…
Tip 技术的选型受技术先进性.技术持续性.技术普及度.推行力度的影响. 我也很无奈,一大把年纪了又要重新学一种ORMapping框架. 说实话,这是我用过的最复杂的ORMapping框架了. EntityFramework 微软推出的ORMapping方案,可用代码来描述(CodeFirst) 实体类和数据库是对应的,可自动生成数据库表 实体类和数据操作是分开的.必须另外写一套代码操作数据.实体类可归为Model层,操作类可归为DAL(或BLL)层 EF6.x 目前只能通过 NuGet 进行管…
http://jahav.com/blog/automapper-queryable-extensions/ How to generate a LINQ query for your DTOs AutoMapper is a really cool library that allows us to map one object to another, e.g. when passing objects through layers of our application, where we w…
Hex Dump In Many Programming Languages See also: ArraySumInManyProgrammingLanguages, CounterInManyProgrammingLanguages, DotProductInManyProgrammingLanguages, WardNumberInManyProgrammingLanguages, NinetyNineBottlesOfBeerOnTheWall, ProgrammingChrestoma…
moq The most popular and friendly mocking framework for .NET var mock = new Mock<ILoveThisFramework>(); // WOW! No record/replay weirdness?! :) mock.Setup(framework => framework.DownloadExists("2.0.0.0")) .Returns(true) .AtMostOnce(); /…
以下三篇文章是Entity Framework Code-First系列中第七回:Entity Framework Code-First(7):Inheritance Strategy 提到的三篇.这三篇文章写的时间有点久远,还是在2010年,提到EF应该在4.1版本之前,使用的还是ObjectContext而不是现在的DbContext,内容供参考 -------------------------------------------------------------------------…
搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating-a-wpf-chat-client-server-application/ 注意:本教程是相当广泛的,如果你是在短请也看到我们的东西 开始和 如何在几分钟内创建一个客户端服务器应用程序教程. 注2:本例中包括,明显延长进一步证明功能,在包中包含的示例 包下载. 在我们开始之前确保您已经安装了Vis…
CRL简介 CRL是一款面向对象的轻量级ORM框架,本着快速开发,使用简便的原则,设计为 无需关心数据库结构,CRL自动维护创建,即写即用(CRL内部有表结构检查机制,保证表结构一致性) 无需第三方工具生成代理类,标准对象结构即可 基于Linq.Expression语法解析,完全对象化操作,所有变量参数化处理,无注入安全等问题 支持join,group等常用语法和函数扩展方法 多种结果类型返回,对象,自定义对象,泛类型,字典等 多种数据库,多库支持 可封装继承的结构,充分使用面向对象的特性 使用…
CRL是一款面向对象的轻量级ORM框架,本着快速开发,使用简便的原则,设计为 无需关心数据库结构,CRL自动维护创建,即写即用(CRL内部有表结构检查机制,保证表结构一致性) 无需第三方工具生成代理类,标准对象结构即可 基于Linq.Expression语法解析,完全对象化操作 支持join,group等语法和函数扩展方法 多种结果类型返回,对象,自定义对象,泛类型,字典等 多种数据库,多库支持 可封装继承的结构,充分使用面向对象的特性 在3.0大版本,增加了上手示例CRLShoppingDem…
EntityFramework之领域驱动设计实践 - 前言 EntityFramework之领域驱动设计实践 (一):从DataTable到EntityObject EntityFramework之领域驱动设计实践 (二):分层架构 EntityFramework之领域驱动设计实践 (三):案例:一个简易的销售系统 EntityFramework之领域驱动设计实践 (四):存储过程 - 领域驱动的反模式 EntityFramework之领域驱动设计实践 (五):聚合 EntityFramewor…