随笔分类 -  其它

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 35 下一页
摘要:有时总是听那些有文化的人,清高的女人说什么人本主义,本本主义,拜金主义,咱没上过大学,也不知道是什么意思,所以就百度了一下,原来都有,这百度那是本好书!主义,是指人们推崇的理想观点和主张。主义的概念一方面表示主导事物的意义。如资本主义是指资本主导社会经济和政治的意义。另一方面,主义的概念表示某种观点、理论和主张。如马克思主义。 主义是强力推行的主张或学说,具有极强的排它性。拜金主义教条主义(本本主义)形式主义享乐主义(伊壁鸠鲁主义)共产主义资本主义人文主义实用主义永恒主义自然主义结构主义行为主义认知主义自由主义理想主义保守主义浪漫主义极权主义 阅读全文
posted @ 2013-09-17 15:46 张占岭 阅读(415) 评论(0) 推荐(1)
摘要:回到目录在设计表结构时,我们通常将不是很在乎表现的主键设计成自增长的,大数据量用bigint,一般地用int就可以了,int就是C#里的Int32,它最大可以存储到2147483647,21亿,基本可以满足大多数的要求了,呵呵。对于自增长主键来说,导数据是个比较麻烦的事,使用SQLSERVER还可以,你把自增去了,再进行SQL专入即可,但如果导数据这个动作是作到程序里,那可就有点麻烦了,一般地,我们为自增主键数据表导数据时,有两个方式,一是去掉自增长特性,二是使用SQL提交的SET IDENTITY_INSERT [table] ON/OFF,如果你的导数据动作是在程序里完成的,那就只能使用后 阅读全文
posted @ 2013-09-06 16:10 张占岭 阅读(3148) 评论(0) 推荐(1)
摘要:回到目录在编程世界里,使用“否定式”不是一件好事,因为它的可读性并不高,但有时,为了让使用者减少代码量,还是使用了双重否定,直到DefaultValue的出现,它改变了这一切,它可以为你的属性设置你想要的默认值,如bool类型默认值是false,而如果你希望它的默认值是true,就需要用到DefaultValue这个特性了。这是我IUnitOfWork代码片断 /// /// 工作单元 /// 提供一个保存方法,它可以对调用层公开,为了减少连库次数 /// public interface IUnitOfWork { /// ... 阅读全文
posted @ 2013-08-26 16:53 张占岭 阅读(3495) 评论(4) 推荐(2)
摘要:回到目录对于大数据量提交,包括插入,更新和删除,我始终不建议用EF自带的方法,因为它会增加与数据库的交互次数,一般地,EF的一个上下文在提交时会打开一个数据连接,然后把转换成的SQL语句一条一条的发到数据库端,然后去提交,试想,如果你的数据量达到万级别(更不用说百万,千万数据了),那对数据库的压力是很大的,所以,我将EF批量操作语句进行了改版,并起名为BulkInsert,BulkUpdate和BulkDelete,事实上,在我之前的版本中并没有涉及到批次提交的概念,直到遇到了实际的问题,当你使用BulkInsert时,如果数据达到4万之前,那在SQL的解释时,也是很有压力的,有多情况下会超时 阅读全文
posted @ 2013-08-24 08:20 张占岭 阅读(5937) 评论(3) 推荐(3)
摘要:事情是这样的,有一个列表,里面有很多用户信息,可能会有重复的用户,将这个列表的用户插入到数据表中,如果用户已经存在,就更新这个用户的FillTimes 字段,让它加1,使用的底层ORM是entity frameworks4。这是方法的大概内容 var user_Account = iC_User_Account.Find(i => i.UserID == u.UserID); if (user_Account == null) { iRepository.Insert(new C_User_Acco... 阅读全文
posted @ 2013-08-19 14:27 张占岭 阅读(7077) 评论(2) 推荐(0)
摘要:回到目录AutoMapper是一个.NET的对象映射工具,一般地,我们进行面向服务的开发时,都会涉及到DTO的概念,即数据传输对象,而为了减少系统的负载,一般我们不会把整个表的字段作为传输的数据,而是单独根据具体场景,写一个新的类,这个类一般以DTO结尾,意思是说,它是网络上的数据传输用的,而你的DTO数据对象的赋值过程就成了一个问题,而为了减少赋值过程的代码量,AutoMapper就出来了,它可以实现实体对实体的赋值过程,或者叫“映射过程”。我心中的项目应该是这样的,用户业务服务,产品业务服务,订单业务服务,这样服务都使 用单独的数据库,它们之间的通讯采用WCF进行实现,在获数据时会在WEB 阅读全文
posted @ 2013-08-06 16:53 张占岭 阅读(6464) 评论(10) 推荐(2)
摘要:回到目录相关文章系列第八回 EF架构~将数据库注释添加导入到模型实体类中第二十一回 EF架构~为EF DbContext生成的实体添加注释(T4模板应用)第二十二回 EF架构~为EF DbContext生成的实体添加注释(T5模板应用)嗨,没法说,EF4的TT模版加上注释后,升级到EF5的TT模版后,注释就不通用了,所以,还得再研究一下,然后把操作方法再分享出来,没辙的微软!T4模版可能有些凌乱,这在T5模版里有了不错的改进,但我希望解决的问题在T5里并没有得到解决,那就是TT类文件自动得到EDMX模型的注释问题,可能大微的开发人员不需要实体注释吧,嗨!1 先加上类注释找到这行代码Write. 阅读全文
posted @ 2013-07-31 15:25 张占岭 阅读(7475) 评论(5) 推荐(9)
摘要:品味编程,不是一味的根据书本上的知识讲,而是在实践开发过程中总结出来的,比较有感悟的东西,对于一个问题,可能有多种方法,但无论你使用哪种方式,请记住,一定要用代码的扩展性,可读性及健壮性上考虑,你写的代码是否合理,这需要你自己用心去体会,用心去设计,在代码设计上,请千万不要模棱两可!就像下面的例子,都是设计一个Font类,可两种结果却完全不同例子1:class Font { /// /// 大小 /// public int Size { get; set; } /// ... 阅读全文
posted @ 2013-07-27 09:08 张占岭 阅读(876) 评论(0) 推荐(1)
摘要:很不错的反编译工具,可以让你有机会看看大师们写的代码了,呵呵文件下载:http://files.cnblogs.com/lori/Red.Gate.Reflector7.6.rar破解方法:1. 断网2. 运行.NET Reflector,点击Help -> Activate3. 运行注册机,复制注册机生成的序列号,粘贴到.NET Reflector中的激活输入框4. 点击激活按钮,此时弹出错误提示“无法连接到…”,点击手动激活按钮,弹出手动激活界面5. 将.NET Reflector中的激活请求字符串复制,粘贴到注册机第二个文本框中,复制第三个文本框的激活应答字符串,粘贴到.NET R 阅读全文
posted @ 2013-07-26 10:57 张占岭 阅读(8405) 评论(1) 推荐(1)
摘要:在东方,使用万来计数,在西方使用千来计数这是int32数据类型的最大值,它是32位的有符号整型,所有,正数位最大值为2的16次方,负数位的最大绝对值为2的16次方减1,这是没什么问题的,今天要说的是,你能一眼看出它是多少吗?2147483647这是不能,真的不能,也许我的数学学的不好吧,呵呵,虽然我可以数出它一共10位,但还是不能说出这个数来,如果把它按着前千位(3位)进行分割或者进行万位分割,那结果就不同了千位分割:2 147 483 647万位分割:21 4748 3647这两种分割哪个更容易看出来呢?如果你是中国人,应该会选择第二种,万位分割,呵呵,我也是,21亿4748万3647,事实 阅读全文
posted @ 2013-07-23 09:52 张占岭 阅读(3765) 评论(0) 推荐(0)
摘要:回到目录问题描述:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间概念相关.Net中的DateTime结构类中的MinValue和MaxValue有时会引发一个异常,那就是日期溢出的问题,您输入的日期必须介于 1753 年 1 月 1 日到 9999 年 12 月 31 日之间,而DateTime.MinValue实际上不是1753 年 1 月 1日,而是0000年1月1日,而数据库可以接收的日期时间最小值为1753/1/1,这时由于.net产生的DateTime.MinValue远远小于它,所以,它出现了 阅读全文
posted @ 2013-07-12 18:09 张占岭 阅读(12984) 评论(0) 推荐(0)
摘要:认识它消息推送这个东西从有了互联网就出现了,但直到出现了HTML5的Websocket,这个东西才算真的,更好了得到了解决,因为之前的方式,我们公认为,它对服务器的压力太大了,客户端不断的在做polling工作,直到服务端有了消息,然后将消息获取过来,这种方式,始终是被动式的,并且,通过浏览器发送的请求,在HTML5出现之前都是HTTP方式的,这种一个请求,一个响应的方式不能很好的实现一个长链接的保持,直到出现了websocket,它可以使一个客户端与服务端保持一个长链接,这事实上,也是实现服务器消息推送到客户端的基础。它的发展历史2000年之前为第一波消息推送技术,使用的概念叫Webcast 阅读全文
posted @ 2013-07-10 11:19 张占岭 阅读(3521) 评论(2) 推荐(1)
摘要:前言我们进行linq to sql和ef时代后,底层的实现基本使用的是repository模块,即仓储模式,事实上就是把ORM实体的最基本操作进行封闭,对外层不公开操作实现的细节。面向接口的编程一个规定,多个实现,这可能是接口给我们带来的最直观的印象了,比如一个仓储在定义后,你可以用linq to sql实现它,也可以用ef去实现它,再或者使用ado.net去实现它,但它对外暴露的永远是稳定的接口,这里我们称为IRepository。仓储接口是否应该设计成基础操作接口和扩展操作接口这是今天说的重点,我们把仓储的最基本操作提炼出来,放到IRepository接口里,它叫做基本操作接口;将集合操作 阅读全文
posted @ 2013-07-04 23:04 张占岭 阅读(1357) 评论(1) 推荐(0)
摘要:回到目录对于从linq to sql迁移过来的开发者,对随机排序不会感到陌生,直接为datacontext添加一个方法再配合反射就可以实现随机排序了,代码如下: /// /// 数据上下文扩展 /// public partial class dbDataContext : IUnitOfWork { /// /// 随机排序时使用这个函数 /// /// [Function(Name = "NewID", IsComposable = true)] public Gui... 阅读全文
posted @ 2013-07-02 14:21 张占岭 阅读(6728) 评论(7) 推荐(1)
摘要:咖啡可以提神,程序员喝咖啡在国内开始流行起来,这是为何?这可不是因为追星,赶时髦,而是工作的需要,程序员需要保持清醒的头脑,而咖啡有这种功效,所以,越来越多的人,越来越多的程序员们喜欢上了咖啡!相关说明:信息来自百度百科http://baike.baidu.com/view/5312.htm 咖啡是由咖啡豆磨制成粉、用热水冲泡而成的饮品。其味苦,却有一种特殊的香气,是西方人的主要饮料之一。它原产于非洲热带地区,如今在中国云南、广东等省 亦有栽培,其种子称“咖啡豆”,炒熟研粉可作饮料,即咖啡。1.咖啡因有特别强烈的苦味,刺激中枢神经系统、心脏和呼吸系统。适量 的咖啡因亦 可减轻肌肉疲 劳,促进消 阅读全文
posted @ 2013-06-24 14:32 张占岭 阅读(1330) 评论(1) 推荐(1)
摘要:回到目录规约(Specification)模式:第一次看到这东西是在microsoft NLayer项目中,它是微软对DDD的解说,就像petshop告诉了我们MVC如何使用一样,这个规约模式最重要的作用是实现了查询语句与查询条件的分离,查询语句在底层是稳定的,不变的,而查询条件是和具体业务,具体领域有关的,是易变的,如果我们为每一个领域的每一个新需求都写一个新的方法,那就会出现很多重复的代码,不利于程序的最终扩展!下面我们来看一个经典例子一个IOrderRepository的接口,定义了一个订单仓储 Order_Info GetOrder_InfoById(int orderI... 阅读全文
posted @ 2013-06-20 17:33 张占岭 阅读(4650) 评论(4) 推荐(3)
摘要:回到目录对于linq to sql提供的CURD操作,给我们的感觉就是简单,容易使用,更加面向对象,不用拼SQL语句了,这些好处都表示在处理单条实体或者集合长度小的情况下,如果有一个1000条的集合实体,希望进行update操作,如果你还用linq to sql提代的update,那你服务器就快要挂了,呵呵。为什么呢?对于LINQ提借的命令,如update(list),它会把list进行foreache的遍历,然后一条一条指令的向SQLSERVER发送,好家伙,这要是1000,1W条实体的集合,进行update操作,这个对IO的开销和服务器的性能来说都是没法接受的,呵呵,应该是一个SQL链接, 阅读全文
posted @ 2013-06-19 15:05 张占岭 阅读(1957) 评论(2) 推荐(2)
摘要:回到目录在上一篇文章中提到了并发冲突,还说详细的说明在这讲来说,呵呵,那现在就说一下吧!并发冲突产生的原因事实上,linq to sql中的并发冲突是指记录在进行update操作时,客户端A1取出的数据{1,zzl,male},客户端A2也取出这条数据{1,zzl,male},这时A1进行对实体重新赋值{1,zzl,female},并进行submit提交,数据库的值被改为{1,zzl,female}注意:这时数据库的值{1,zzl,female}与A2所取出的值{1,zzl,male}已经不相同了,这时,在进行update时就会出现并发冲突。并发冲突的应对在进行submitchange时,由于 阅读全文
posted @ 2013-06-19 14:45 张占岭 阅读(1065) 评论(0) 推荐(0)

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