随笔分类 -  其它

上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 35 下一页
摘要:回到目录这个文章写的有点滞后了,呵呵,因为总想把之前不确定的东西确定了之后,再写这篇,之前的LINQ-to-SQL那点事,请点这里。LINQ-to-SQL中的数据缓存与应对Linq-to-SQL它是微软自己推出的一个轻量级的ORM框架,它很好地完成了与SQLSERVER数据库的映射(它目前只支持SQLSERVER,也不会有以后的,因为微软不对它进行更新了),在使用它时,微软提出了“数据上下文”的概念,这个上下文(context)类似于HttpContext,RequestContext,是指对某种事物的完整的抽象,把对这种事物的操作都集成在上下文中。Linq-to-SQL的上下文被称为Data 阅读全文
posted @ 2013-06-19 14:18 张占岭 阅读(3970) 评论(1) 推荐(2)
摘要:Jimmy Nilsson谈LINQ to SQL文章来自:http://www.infoq.com/cn/interviews/jimmy-nilsson-linq-cn1. 这里是Floyd Marinescu和Jimmy Nilsson在JAOO会议上。Jimmy,能像我们介绍一下自己吗?我是Jimmy,我来自瑞典。昨天有人告诉我,我只有2个错误,一个是我喜欢测试驱动开发,而另外一个是我来自瑞典。我想只有2个错误已经很不错了。我是一个有20年经验的开发人员,目前致力于领域驱动开发以及敏捷实践。 2. 你能向观众们介绍一下LINQ-to-SQL吗?微软构建了一个新的框架,为 C#和Visu 阅读全文
posted @ 2013-05-09 13:54 张占岭 阅读(1508) 评论(1) 推荐(0)
摘要:回到目录之前写过三篇这个文章系列,都是围绕一个主题,那就是.net何时将transactionscope提升为分布式事务,今天我借用ThreadStatic特性,把这个知识点又证明了一下,下面总结一下:transactionscope文章:第二十六回 将不确定变为确定~transactionscope何时提升为分布式事务?第二十七回 将不确定变为确定~transactionscope何时提升为分布式事务~续第二十八回 将不确定变为确定~transactionscope何时提升为分布式事务~再续(避免引起不必要的MSDTC)ThreadStatic特性文章:基础才是重中之重~ThreadSta. 阅读全文
posted @ 2013-04-17 14:55 张占岭 阅读(1502) 评论(2) 推荐(0)
摘要:回到目录static修饰符我们不会陌生,它代表静态,可以修饰你的类,方法,字段和属性等等,今天主要说一个为静态字段加ThreadStatic特性会给程序代来什么样的变化。静态字段static field,我更习惯称它为“类的字段”,即它与类的具体实例无关,对于所有线程里,它的值都是一个,即它的唯一性。如代码:class Instance{ static DataContext context=new LinqToSql(conn); protected static DataContext {get{return context;}}}上面的代码中,context为静态字段,它的值在所有... 阅读全文
posted @ 2013-04-17 13:26 张占岭 阅读(8756) 评论(6) 推荐(5)
摘要:团队开发,最重要的是什么?统一的规范,对于一个团队,在开发项目之前,必须要先告诉大家项目的规范是什么,而开发人员在实际当中再去执行这个规范,对于规范事实上是个很宏观的概念,它可能有很多版本,呵呵,如代码书写规范,代码重构规范,代码整体布局规范等等.今天主要说一下如何建立属于自己团队的代码模块第一步,打开VS文件模块安装目录,我们以"建立类文件"为例,一般是:C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\2052打开calss.zip,然后打开class.c 阅读全文
posted @ 2013-04-10 17:58 张占岭 阅读(706) 评论(0) 推荐(0)
摘要:对于小型项目来说,配置信息可以通过appSettings进行配置,而如果配置信息太多,appSettings显得有些乱,而且在开发人员调用时,也不够友好,节点名称很容易写错,这时,我们有几种解决方案1 自己开发一个配置信息持久化类,用来管理配置信息,并提供面向对象的支持2 使用.net自带的configSections,将配置信息分块管理,并提供实体类,便于开发人员友好的去使用它本文主要说说第二种方案,它由实体类,实体类工厂及配置文件三个部分,看代码:实体类设计:namespace Configer{ /// <summary> /// 网站信息配置节点 /// </summ 阅读全文
posted @ 2013-04-03 11:57 张占岭 阅读(2960) 评论(6) 推荐(1)
摘要:对于多对多关系,我们需要引入第三张表,一般我们称它为关系表,关系表不需要自已的主键,而是通过相关表的主键进行组合,我们一般称为多主键,下面看一下菜单表与角色表,它们是一种多对多关系的结构。一般地,我们手动更新多对多关系表时,方法是:删除原来关系,插入新关系,而EF的作法不是这样,它是先比较现在有集合与数据表里的内容是否相同,如果相同不进行操作,如果没有就插入,如果有就删除,性能上有了一个提升!在EF的模型中,这种多对多的纯关系把不会出现在模型里,而是直接用实体集合代替,这样关系更直接了,觉得这种设计不错在MVC架构开发中,需要注意的是,你的集合对象的表单元素名称必须写完整,如果是role下面的 阅读全文
posted @ 2013-04-02 11:33 张占岭 阅读(5594) 评论(1) 推荐(4)
摘要:回到目录单表一对多关系很常见,它是一种树形结构,如系统菜单表,部门表,分类表,这些都可以做成单表一对多关系,而这些表做成一对多关系后,如果通过EntityFramework进行插入操作时,会很方便,EF会自动为我们确实上级ID,对于操作的性能也是可以接受的,与数据库建立一次链接,发一批指定,这是我们可以接受的,虽然在性能上不是最佳的,但综合对比来看,它即是最佳的。(结合对比=程序性能+开发人员工时+程序扩展性+程序可读性)OK,我们以菜单表为例,说一下这个菜单表初始化的过程对于菜单实体的赋值,看一下代码:var menu = new WebManageMenus ... 阅读全文
posted @ 2013-04-02 11:03 张占岭 阅读(4844) 评论(1) 推荐(5)
摘要:回到目录网站bin目录下的程序集一般由系统项目,项目引用的外部DLL及外挂DLL组成,它们在网站运行时会自动加载,这一点很重要,项目本身DLL及项目引入的DLL会自动加载,这没有问题,而外挂在bin目录的DLL也会自动加载,这很重要,因为,它可以使我们的应用程序更加灵活,在开发通用功能上,也显得扩展性更强!一个例子,比如一个HttpModule,它是一个通用的功能,向页面添加一些缓存过期的共用信息,这对于你所有网站都是共用的,这时,可以建立一个HttpModule项目,它代码可能是这样namespace TestHttpModule{ public class SEOModule : I... 阅读全文
posted @ 2013-04-02 10:10 张占岭 阅读(1557) 评论(0) 推荐(4)
摘要:几下推荐几款编程字体,它们有些虽然不是等宽的,但它们也会使我们的代码更优雅!第一名:consolas 10号 感觉:优雅第二名:DejaVu Sans Mono 10号 感觉:稳重第三名:Envy code R VS 10号加粗 感觉:个性第四名:Courier New 9号 感觉:怀旧第五名:宋体9号 感觉:清醒大家可以通过自己的感觉,去使用这些字体,想怀旧时,就用用courier new;如果想清醒一下,那就是宋体;如果想写出的代码更优雅就用consolas,呵呵! 阅读全文
posted @ 2013-03-28 09:40 张占岭 阅读(861) 评论(0) 推荐(4)
摘要:回到目录用工作单元带给我们的是什么?... 11. 相关说明2. 优化查询3. 优化SubmitChanges4. 优化TransactionScope5. 核心代码1. 相关说明工作单元的接入,保证了数据上下文在一个操作单元中只有一个,它可以通过构造方法注入到其它类中,实现跨类进行方法的组合。2. 优化查询上面的问题产生的场合应该是:你用了join语句,你的join语句与from语句所使用的数据上下文不是一个(DataContext)解决方法:将数据上下文变成一个就可以了,这就是之前我们一直用的线程单例模式出现的原因,而往往一个方法可能需要引用多个类中的方法,这时,线程单例将不能解决这个问题 阅读全文
posted @ 2013-03-26 11:14 张占岭 阅读(4647) 评论(1) 推荐(4)
摘要:回到占占推荐博客索引经过两周的努力,终于把这个系列写完了,这段时候正好赶上项目改版,所以也像自己的项目重构了一下,将IUnitOfWork思想注入其中,希望对系统有所帮助,那是必然的,呵呵,IUnitOfWork的出现主要还是体现在性能上,下面看一下目录:说说IUnitOfWork~目录第一讲 说说IUnitOfWork~认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 说说IUnitOfWork~Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 说说IUnitOfWork~方法完整性与统一提交不冲突第四讲... 阅读全文
posted @ 2013-03-22 11:34 张占岭 阅读(5068) 评论(4) 推荐(3)
摘要:回到目录第一讲 认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 方法完整性与统一提交不冲突第四讲 DbContext对象的创建应该向BLL层公开第五讲 我的IUnitOfWork+Repository架构这个系统的文章在写完这篇后将拉下眉目,一共5讲的IUnitOfWork带给我们的是性能,原子化操作,等多方法的改进,下面我把我的IUnitOfWork+Repository模式大体的说一下,并代上核心代码:底层接口UnitOfWork.Data.Core这是一个 阅读全文
posted @ 2013-03-21 23:04 张占岭 阅读(9673) 评论(14) 推荐(5)
摘要:回到目录第一讲 认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 方法完整性与统一提交不冲突第四讲 DbContext对象的创建应该向BLL层公开第五讲 我的IUnitOfWork+Repository架构在EF中,数据上下文通常是DbContext或者ObjectContext,而在linq to sql中数据上下文则是DataContext,它们的作用是建立一个数据库映射对象ORM,以更加方便的操作数据库,而它们的创建工作,我在很长一段时间将它约束在DAL层, 阅读全文
posted @ 2013-03-19 22:53 张占岭 阅读(2891) 评论(0) 推荐(1)
摘要:回到目录第一讲 认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 方法完整性与统一提交不冲突第四讲 DbContext对象的创建应该向BLL层公开第五讲 我的IUnitOfWork+Repository架构 在一个方法中,它一般会做一件事情,这样的方法在功能上比较清晰,在职责上也很单一(这里的单一是褒义的,呵呵),而它所做的这件事,从头到尾会把它做完,不会做到一半的功能,这属于功能上的不完整,这不是我们推荐的。项目中的代码:完整的提交方法: prot... 阅读全文
posted @ 2013-03-18 22:06 张占岭 阅读(3305) 评论(2) 推荐(5)
摘要:回到目录第一讲 认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 方法完整性与统一提交不冲突第四讲 DbContext对象的创建应该向BLL层公开第五讲 我的IUnitOfWork+Repository架构 对于微软推出的linq to sql和entity frameworks这两大ORM工具,它为我们的程序开发推供的是操作简单,程序结构清晰,代码量少,但在性能上,往往是开发者议论的焦点的,确实,有时这些ORM工具的不可控与操作不透明性广泛被开发者所关注和注意。 阅读全文
posted @ 2013-03-18 11:48 张占岭 阅读(2706) 评论(0) 推荐(5)
摘要:回到目录第一讲 认识IUnitOfWork,为什么要出现IUnitOfWork接口第二讲 Linq to Sql与EntityFrameworks中的SubmtChanges()发生了什么事第三讲 方法完整性与统一提交不冲突第四讲 DbContext对象的创建应该向BLL层公开第五讲 我的IUnitOfWork+Repository架构 今天愉点时间,说说IUnitOfWork,它事实上是NHibernate上的东西,这里只是借一下它的思想,把咱们的EF和LinqToSql也优化一下,呵呵!对于IUnitOfWork它的中文是操作单元的意思,顾名思义,就是将多个操作放在一个单元中,把操作原子化 阅读全文
posted @ 2013-03-12 22:40 张占岭 阅读(11088) 评论(1) 推荐(4)

上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 35 下一页