摘要: 转自:http://hi.baidu.com/saclrpqmttbntyq/item/4592fc72c5a19e5c0d0a07eb由于总用 String.IsNullOrEmpty( s ) ,就上网收了一下相关的资料,其实这种用法和s == null || s.Length == 0这种判断方法并无太大区别。只是在速度上可能后者比前者快那么一点点(百万毫秒级别上的),但是瑕不掩瑜,前者便于阅读代码。在对效率要求不高的时候, 还是使用前者吧。.Net4.0又出现了String.IsNullOrWhiteSpace()这个方法,区别如下图。据说效率很高。具体没有验证过。 阅读全文
posted @ 2013-07-22 09:59 PowerZhang 阅读(199) 评论(0) 推荐(0)
摘要: WCF 笔记 (2) - 传输泛型 List 对象本帖介绍怎么在 WCF 中,在 Server-side 和 Client-side 之间,传递默认无法传输的 List、List 等类型的对象,以及传递 Dictionary 等泛型 Collection 对象。本帖并无高来高去的高深技术,但版工我认为本帖的小技巧实用性很高,而且是每个学习 WCF 的人都一定会遇到的问题,因此斗胆将本文发在博客园首页。--------------------------------------------------------本帖的示例下载点:http://files.cnblogs.com/WizardWu 阅读全文
posted @ 2013-07-20 11:47 PowerZhang 阅读(313) 评论(0) 推荐(0)
摘要: 谈谈WCF中的Data Contract(3):WCF Data Contract对Collection & Dictionary的支持在本篇文章上一部分Order Processing的例子中,我们看到原本已Collection形式定义的DetailList属性(public IList DetailList),在Data Contract中却以Array的方式体现(public OrderDetail[] DetailList)。我们现在就来详细地讨论一下基于Collection & Dictionary 的Data Contract。Data Contract for C 阅读全文
posted @ 2013-07-20 11:43 PowerZhang 阅读(299) 评论(0) 推荐(0)
摘要: ADO.NET 实体框架概述随着.NET Framework 3.5 SP1和Visual Studio 2008 SP1的正式发布。ADO.NET 实体框架正式来到开发人员的面前,它使开发人员可以通过对象模型(而不是逻辑/关系数据模型)专注于数据。实体框架有助于将逻辑数据架构抽象为概念模型, 并且允许以多种方式通过对象服务和名为“EntityClient”的新数据提供程序与概念模型交互。实体框架组件实体框架使开发人员可以编写更少的数据访问代码,减少维护,将数据结构抽象化为更易于开展业务(标准化程度较低)的方式,并且有利于数据的持久性。 当与 LINQ to Entities结合使用时,由于实 阅读全文
posted @ 2013-07-20 11:39 PowerZhang 阅读(943) 评论(0) 推荐(0)
摘要: C# Lambda Expressions 简介原文http://msdn2.microsoft.com/en-us/library/bb397687.aspx翻译:朱之光 (larry1zhu@gmail.com) 1. Lambda简介一个Lambda Expression (译为Lambda式) 就是一个包含若干表达式和语句的匿名函数。可以被用作创建委托对象或表达式树类型。所有的Lambda式都使用操作符“=>“,表示“goes to (转变为)”。操作符左边部分是输入参数表,右边部分是表达式或语句块。x => x * x 读成“x转变为x 乘x”。Lambda式可以被赋值给 阅读全文
posted @ 2013-07-17 14:16 PowerZhang 阅读(260) 评论(0) 推荐(0)
摘要: 写在前面:1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库。2. 本文中的单元测试都是正确通过的。要理解EF的事务机制,首先要理解这2个类:TransactionScope和DbContext。DbContext是我们的数据库,通常我们会建一个类MyProjectDbContext继承自DbContext,里面包含所有的数据库表。这个类相当于定义了一个完整的数据库。下面通过一些单元测试来看看这2个类是如何工作的。 1 [Test] 2 public void Can_Rollback_On_Errors_In_Different_Context() 3 { 4 ... 阅读全文
posted @ 2013-07-12 18:08 PowerZhang 阅读(314) 评论(0) 推荐(0)
摘要: 在实现基础的三层开发的时候,大家时常会在数据层对每个实体进行CRUD的操作,其中存在相当多的重复代码。为了减少重复代码的出现,通常都会定义一个共用类,实现相似的操作,下面为大家介绍一下Entity Framework时常用到的通用类。首先在数据库建立起几个关联表:Person、Company、Position,三个实体之间通过导航属性进行相互引用。下面为大家分别介绍以泛型实现的 Create、Read、Update、Delete 操作:1. Create在ObjectContext类之中,早已经为大家预定了一个Create 的操作 AddObject:void ObjectContext.Ad 阅读全文
posted @ 2013-07-12 18:02 PowerZhang 阅读(391) 评论(0) 推荐(0)
摘要: 一、一对一关联关系的映射实体对象之间一对一的关联关系是通过数据库中的外键实现的。对外键的使用有以下两种方式:1、主键关联2、唯一外键关联 主键关联 在一对一的主键关联方式中,不需要借助任何额外的字段,直接通过两个表的主键来形成一对一的映射关系,两个表共享主键。例如,对于学生和学号进行主键一对一关联。首先要在Student对象的配置文件吕定义到Nubmer对象的关联: 还需要在number对象的配置文件中定义到student对象的关联:在one-to-one中 有constrained属性表明主键同时作为外键参照 student表另外为了确保两个对象的主键相等,在定义主键的时候可以使用for.. 阅读全文
posted @ 2013-07-11 17:33 PowerZhang 阅读(805) 评论(0) 推荐(0)
摘要: 静态类是不能实例化的,我们直接使用它的属性与方法,静态类最大的特点就是共享。探究public static class StaticTestClass{ public static int n = 0; public static void Add() { n++; }}网页 P1.aspx 调用 StaticTestClass.Add(),并在页面上输出 n。网页 P2.aspx 调用 StaticTestClass.Add(),并在页面上输出 n。访问者 V1 从客户端 C1 访问 P1.aspx,此时输出为 1。访问者 V2 从客户端 C2 访问 P... 阅读全文
posted @ 2013-07-10 10:55 PowerZhang 阅读(830) 评论(0) 推荐(0)
摘要: 首先以一个简单的例子演示一下远程调用发生异常的结果:服务器端代码如下:[ServiceContract] public interface IService1 { [OperationContract] void ErrorTest(); } public class Service1 : IService1 { public void ErrorTest() { throw new InvalidOperationException("异常测试"); } 该服务非常简单,直接抛一个异常。当运行客户端代码触发这个异常... 阅读全文
posted @ 2013-07-08 17:40 PowerZhang 阅读(401) 评论(0) 推荐(0)