happyhippy

这个世界的问题在于聪明人充满疑惑,而傻子们坚信不疑。--罗素

随笔分类 -  ORM

Linq to Sql : 并发冲突及处理策略
摘要:0. 并发冲突的示例 单用户的系统现在应该比较罕见了,一般系统都会有很多用户在同时进行操作;在多用户系统中,涉及到的一个普遍问题:当多个用户“同时”更新(修改或者删除)同一条记录时,该如何更新呢? 下图展示了开放式并发冲突的一个示例: 假设数据库中有一条记录Record{Field1=5, Field2=6, Field3=7}(以下简写为{5, 6, 7}),A、B两个用户按照如下顺序操作这一... 阅读全文
posted @ 2010-01-30 18:23 Silent Void 阅读(6300) 评论(5) 推荐(2) 编辑
LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新
摘要:0. 说明 Linq to Sql,以下简称L2S。 以下文中所指的两层和三层结构,分别如下图所示: 准确的说,这里的分层并不是特别明确:(1) 生成的DataContext(Linq t0 SQL Runtime)和Entity是放在一个文件中的,物理上不能切割开来;上图只是展示逻辑上的结构。(2) 拿上图右边的三层结构来说,鉴于第(1)点,UI层就可以跨越BusinessLogic层,直接访... 阅读全文
posted @ 2010-01-29 16:07 Silent Void 阅读(4211) 评论(0) 推荐(0) 编辑
Linq to Sql : 三种事务处理方式
摘要:Linq to SQL支持三种事务处理模型:显式本地事务、显式可分发事务、隐式事务。(from MSDN: 事务 (LINQ to SQL))。MSDN中描述得相对比较粗狂,下面就结合实例来对此进行阐述。 0. 测试环境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP... 阅读全文
posted @ 2010-01-27 14:47 Silent Void 阅读(22149) 评论(5) 推荐(6) 编辑
Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
摘要:如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让编译器自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应... 阅读全文
posted @ 2010-01-26 20:01 Silent Void 阅读(7352) 评论(14) 推荐(2) 编辑
Linq to Sql:N层应用中的查询(上) : 返回自定义实体
摘要:如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型(IQueryable<匿名类型>),并提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业务逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应... 阅读全文
posted @ 2010-01-25 13:55 Silent Void 阅读(7063) 评论(16) 推荐(0) 编辑
MyGeneration学习笔记(11) :dOOdad的架构(Architectures)
摘要: 前面10篇介绍了使用dOOdads做ORM映射的基本使用方法和我在使用过程中的总结的一些技巧,这里我再对dOOdads项目做一个概要的总结: 1. 使用dOOdads的概要步骤:详细步骤及我在使用中遇到的问题,我以前都有记录http://www.cnblogs.com/happyhippy/category/79938.html 2. dOOdad的架构: 阅读全文
posted @ 2007-04-16 16:38 Silent Void 阅读(4640) 评论(16) 推荐(0) 编辑
MyGeneration学习笔记(10) :配置数据库连接
摘要:在dOOdad生成的Concrete Class的构造函数中设置数据库连接字符串 阅读全文
posted @ 2007-01-29 13:14 Silent Void 阅读(1518) 评论(2) 推荐(0) 编辑
MyGeneration学习笔记(9) :在WebService使用dOOdad时,对ToXml/FromXml的一点改进
摘要:ToXml()返回的数据中丢失了Schema,调用FromXml()之前需要重新构造Schema... 阅读全文
posted @ 2006-09-02 19:48 Silent Void 阅读(710) 评论(0) 推荐(0) 编辑
MyGeneration学习笔记(7) :dOOdad的String Properties和动态查询
摘要:…… 阅读全文
posted @ 2006-08-30 01:27 Silent Void 阅读(751) 评论(0) 推荐(0) 编辑
MyGeneration学习笔记(6) :在Web Service中使用dOOdad(下)
摘要:上一篇文章讲述了怎样插入一条记录,这里补充一下查询、修改和删除一条记录。相对插入而言,查询、修改和删除容易得多,下面分别给出我的一种实现…… 阅读全文
posted @ 2006-08-23 21:43 Silent Void 阅读(483) 评论(0) 推荐(0) 编辑
MyGeneration学习笔记(5) :在Web Service中使用dOOdad(中)
摘要:业务实体类中有提供ToXml和FromXml方法,实现了字符串到Datatable的转换,于是决定试下用字符串来保存DataTable信息,然后再在网络中传输字符串,这就是我的原始想法…… 阅读全文
posted @ 2006-08-23 06:07 Silent Void 阅读(586) 评论(0) 推荐(0) 编辑
MyGeneration学习笔记(4) :在Web Service中使用dOOdad(上)
摘要:dOOdad对Web Service的支持还不够好,dOOdad的核心是DataTable,而在ADO.Net 2.0中的DataTable虽然相对1.x功能扩展了不少,微软鼓吹DataTable功能有多强多强,据说Web Service也都支持返回DataTable,但俺试了一下,发现还存在不少问题。既然Web service不支持DataTable作返回值,所以要将业务实体类内部的信息在网络中传输,就得想其他办法…… 阅读全文
posted @ 2006-08-23 05:33 Silent Void 阅读(978) 评论(7) 推荐(0) 编辑
MyGeneration学习笔记(3) : dOOdads及生成代码的一些bug
摘要:没有软件会不存在bug,找到一个bug只能说明系统还存在Bug。MyGeneration也不例外,其中存在存在bug;但我们不能因为其有bug而不去用它,这是因噎废食。下面就是我在使用dOOdad时遇到的几个bug及我自己的解决办法…… 阅读全文
posted @ 2006-08-23 05:17 Silent Void 阅读(1205) 评论(1) 推荐(0) 编辑
MyGeneration学习笔记(2) : 使用dOOdad提供的通用操作
摘要:常规的增删查改、遍历、排序等 阅读全文
posted @ 2006-08-23 00:46 Silent Void 阅读(1185) 评论(0) 推荐(0) 编辑
MyGeneration学习笔记(1) : 使用MyGeneration生成存储过程和数据访问层代码
摘要:用MyGeneration(我用的MyGeneration的版本号是1.5.1)的dOOdad模板(使用其自带的模版)来生成代码,及将这些代码加入到项目中 阅读全文
posted @ 2006-08-23 00:04 Silent Void 阅读(4012) 评论(4) 推荐(0) 编辑