随笔分类 - LINQ
摘要:我们知道LINQ中的增删改都要调用SubmitChanges方法,我们记录所有SQL的方式就是重写(override)DataContext中的SubmitChanges方法,为了避免每次修改dbml文件时影响我们自己写的内容,我们要先写一个DataContext的分布类,在这个类中重写SubmitChanges方法。 代码如下 Code Code highlighting produced b...
阅读全文
摘要:在项目初期部署的时候,如果bug没有被排除干净,但代码部署到客户机上了,那么调试bug会是个问题,一般我们都会在这段时间把日志打开,在日志中将操作过程记录到日志中。为了将所有的增,删,改的操作都记录下来,我们会加入一个数据上下文的分布类,然后重写SubmitChanges方法,以下是我的解决方案: Code highlighting produced by Actipro CodeHighli...
阅读全文
摘要:有的时候我们在设计数据库的时候发现如果完全把商务逻辑中的类影射到表中可能会照成数据库中很多表都很相似,甚至结构上都是一样的,下面举一个例子来说明如何处理这种情况
阅读全文
摘要:LINQ是Language Integrated Query(语言集成查询)的简称,它是集成在.NET编程语言中的一种特性,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处LINQ 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁。
阅读全文
摘要:问题:因为每次更新的时候只是某个类的一部分,但是这个类的属性比较多.
阅读全文
摘要:在项目中曾有这样的应用,权限筛选时先组织出员工的id,然后使用LINQ在相应的表中查询数据,条件是这些查询出来的数据的id必须在刚才权限筛选出来的id中,但是如果权限中的id太多,就会出现问题“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100”。我推断可能是SQLServer中使用参数不能超过2100的原因。
阅读全文
摘要:扩展方法
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。扩展方法是可以通过使用实例方法语法调用的静态方法。效果上,使得附加的方法扩展已存在类型和构造类型成为可能。他可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法。扩展方法有助于把今天动态语言中流行的对快速录入支持的灵活性,与强类型语言之性能和编译时验证融合起来。
阅读全文
摘要:Lambda 表达式
在c#3.0中微软加入了“Lambda 表达式”,“Lambda 表达式”的概念最早是数学家Alonzo Church在1936年提出的,早在LISP语言中就已经得到应用。这些表达式提供了简短的语法来表达一个运算法则。在C#3.0中“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。在我们详细讲解“Lambda 表达式”之前,我们先来了解一下“Lambda 表达式”出现的原因。
阅读全文