随笔分类 -  C#

C#语言开发技术
摘要:C# 通过反射来动态创建泛型类型与创建普通类型的区别在于:泛型参数的处理创建泛型类型存在三种情况:第一种:知道泛型类型,但需要动态指定泛型参数;第二种:知道泛型参数,但需要动态创建指定参数的泛型类型;第三种:泛型类型与泛型参数均都不直接指定,需要动态创建指定参数的泛型类型;具体的方法说明详见文俊IT... 阅读全文
posted @ 2015-07-22 18:25 梦在旅途 阅读(4526) 评论(0) 推荐(0) 编辑
摘要:首先看一下采用MODEL FIRST的方式设计的实体模型对象关系图:注意:EntityOne中有导航属性:EntityTwo在如下代码中的几种情况进行新增操作,均会报错,新增都不会成功: static void Main(string[] args) { Mode... 阅读全文
posted @ 2015-07-17 17:41 梦在旅途 阅读(1640) 评论(3) 推荐(0) 编辑
摘要:之前发表过一篇文章题为《关于Entity Framework中的Attached报错的完美解决方案》,那篇文章确实能解决单个实体在进行更新、删除时Attached的报错,注意我这里说的单个实体,指的是要更新或删除的实体不包含其它实体(比如导航属性就包含其它实体),也就是简单POCO对象;但如果不是呢... 阅读全文
posted @ 2015-07-16 11:42 梦在旅途 阅读(1764) 评论(0) 推荐(1) 编辑
摘要:我们在使用Entity Framework进行CRUD时,为了提升查询效率,一般均会启动NoTracking,即不追踪变化,设置代码如下://这是DB First模式下设置方法:aTestEntities db = new aTestEntities();db.Companies.MergeOpti... 阅读全文
posted @ 2015-05-26 14:52 梦在旅途 阅读(2918) 评论(3) 推荐(1) 编辑
摘要:一、首先了解下Entity Framework 自动关联查询:Entity Framework 自动关联查询,有三种方法:Lazy Loading(延迟加载),Eager Loading(预先加载),Explicit Loading(显式加载),其中Lazy Loading和Explicit Loa... 阅读全文
posted @ 2015-05-19 18:25 梦在旅途 阅读(5439) 评论(1) 推荐(5) 编辑
摘要:从发表第一篇文章到最后一篇文章,时间间隔有整整一个月,虽只有5篇文章,但每一篇文章都是我吸收《LEARNING HARD C#学习笔记》这本书的内容要点及网上各位大牛们的经验,没有半点废话,值得新手或中级程序员阅读,孔子曰:温故而知新,可以为师矣,写这个系列文章的目的除了表达对LEARNING HA... 阅读全文
posted @ 2015-05-16 21:10 梦在旅途 阅读(779) 评论(0) 推荐(1) 编辑
摘要:本篇文章主要是总结异步编程的知识点,也是本系列的最后一篇文章,每一个知识点我都有写出示例代码,方便大家理解,若发现有误或不足之处还请指出,由于书中作者对此知识点讲解过于简单,所以在写这篇文章时本人参考与学习了网上许多大牛们的经验,在此感谢那些愿意分享的人们,谢谢! 二十三.异步编程 APM(异步编程 阅读全文
posted @ 2015-05-16 20:28 梦在旅途 阅读(938) 评论(0) 推荐(0) 编辑
摘要:以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Write完成后就自动关闭流数据,所以无法很好的支持的Web模式,网上目前也未找到好的解决方案,大家如果有... 阅读全文
posted @ 2015-05-04 11:01 梦在旅途 阅读(3856) 评论(9) 推荐(9) 编辑
摘要:又是一个周末,刚好有时间,又继续复习与总结了,希望能让大家受益,不足之处欢迎指正,谢谢!十八. Lambda1.Lambda表达式:匿名方法的另一种表现形式,它可以包含表达式和语句,且用于创建委托或转换为表达式树,定义语法:(形参列表)=>{方法体}; 单个参数时,可以省略括号2.Lambda表达式... 阅读全文
posted @ 2015-05-01 16:22 梦在旅途 阅读(1019) 评论(0) 推荐(2) 编辑
摘要:我们一般获取某个类型或对象的属性信息均采用以下几种方法:一、通过类型来获取属性信息var p= typeof(People).GetProperty("Age");//获取指定属性var ps = typeof(People).GetProperties();//获取类型的所有属性二、通过实例来获取... 阅读全文
posted @ 2015-04-23 22:43 梦在旅途 阅读(2404) 评论(3) 推荐(2) 编辑
摘要:今天在进行代码测试时发现,尝试在一个方法中定义一个委托,注意是定义一个委托,而不是声明一个委托变量,在编写的时候没有报错,VS也能智能提示,但在编译时却报语法不完整,缺少方括号,但实际查询并没有缺少,想不通原因,将委托定义移到类中,报错消失,编译成功了。先看一下报错的源码:(实际上不只委托类型,所有... 阅读全文
posted @ 2015-04-19 08:41 梦在旅途 阅读(2783) 评论(24) 推荐(1) 编辑
摘要:最近工作较忙,手上有几个项目等着我独立开发设计,所以平时工作日的时候没有太多时间,下班累了就不想动,也就周末有点时间,今天我花了一个下午的时间来继续总结与整理书中要点,在整理的过程中,发现了书中的一些不足,我在以下的博文中都有说明,大家如果有这本书的可以对照着知识点及书本相结合的方式来看,没有这本本... 阅读全文
posted @ 2015-04-18 19:54 梦在旅途 阅读(1573) 评论(0) 推荐(0) 编辑
摘要:今天继续分享我的阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二,仍然是基础知识,但可温故而知新。七.面向对象三大基本特性:封装:把客观事物封装成类,并隐藏类的内部实现细节,仅开放相关的访问属性、方法等继承:通过继承可以复用父类的代码;多态:1.允许将子对象赋值给父对象,2.同方法... 阅读全文
posted @ 2015-04-15 22:27 梦在旅途 阅读(1355) 评论(0) 推荐(0) 编辑
摘要:本人有幸在Learning Hard举行的整点抢书活动《Learninghard C#学习笔记》回馈网友,免费送书5本中免费获得了一本《LEARNING HARD C#学习笔记》,我(梦在旅途)虽然从事.NET开发多年,但一直都没有能好好的系统学习,特别是C#5.0的知识,现如今有幸得到这本书,可以... 阅读全文
posted @ 2015-04-12 13:11 梦在旅途 阅读(3179) 评论(3) 推荐(3) 编辑
摘要:在设计数据表时,如果将某些列设置为关联其它表的外键,那么如果对其进行增加、修改操作时,其关联表若没有相匹配的记录则报错,或者在对其关联表进行删除时,也会报错,这就是外键约束的作用,当然除了外键还有许多约束,在此暂不讨论,本篇文章主要讲的是,如何判断是否为SQL的引用约束异常,从而能够更好的将SQL复... 阅读全文
posted @ 2015-04-10 11:16 梦在旅途 阅读(1592) 评论(4) 推荐(0) 编辑
摘要:第一种方法:采用MS现有的ConfigurationManager来进行读写using System.Configuration;namespace Zwj.TEMS.Common{ public abstract class ConfigHelper { private ... 阅读全文
posted @ 2015-04-07 17:18 梦在旅途 阅读(1477) 评论(0) 推荐(1) 编辑
摘要:我之前就写过一篇《实现UniqueAttribute唯一性约束》,虽然实现了通过调用IsValid方法可以进行唯一性验证,但有一个缺点,那就是耦合度过高,原因是里面的DB上下文对象是直接写在里面的,如下:public override Boolean IsValid(Object value) ... 阅读全文
posted @ 2015-04-07 12:11 梦在旅途 阅读(870) 评论(0) 推荐(0) 编辑
摘要:using System; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace Zwj.TEMS.Base { /// /// 唯一性标识 /// [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] public class UniqueAttribute : ValidationAttribute { protected string tableName; protected string filedName; public UniqueAttribute(string tableName, string filedName) { this.tab 阅读全文
posted @ 2015-04-01 17:42 梦在旅途 阅读(2760) 评论(0) 推荐(1) 编辑
摘要:对于Client来说,它实际上不能和Service进行直接交互,它只能通过客户端创建的Proxy来间接地和Service进行交互,然而真正的调用而是通过服务实例来进行的。我们把通过Client的调用来创建最终的服务实例过程称作激活,在.NET Remoting中包括Singleton模式、SingleCall模式和客户端激活方式,WCF中也有类似的服务激活方式:单调服务(PerCall)、会话服务(PerSession)和单例服务(Singleton)。 阅读全文
posted @ 2015-03-26 13:56 梦在旅途 阅读(3374) 评论(0) 推荐(2) 编辑
摘要:一、服务契约(包括回调契约)通过指定不同的OperationContract.Name来实现重载方法,当然代码部份还是必需符合C#的重载要求,即相同方法名称,不同的参数个数或参数类型 namespace Contract { [ServiceContract(Name = "HellworldService", Namespace = "http://www.zuowenjun.cn")] public interface IHelloWorld { [OperationContract(Name = "GetHelloWorldWithoutParam")] string GetHelloWorld(); [OperationContract(Name = "GetHelloWorldWithParam")] string GetHelloWorld(string name); } 阅读全文
posted @ 2015-03-25 21:19 梦在旅途 阅读(576) 评论(0) 推荐(0) 编辑