海豚宝宝的代码生活

专注于.Net系统开发

导航

2010年8月26日 #

EF学习杂记29:如何避免LazyLoad 或 Load() reader中的问题

摘要: 如果你有下面这样的代码: 上面的代码将同时打开两个连接,一个为了检索Customers对象, 另一个为了检索当前 Customer相关的Orders. 这样的操作只有在你启用了 Multiple Active ResultSets (aka MARS)功能以后才可以使用,否则会报错注: 你或许会奇怪我在这里为什么加入了一个 IsInteresting(..) 方法,如果没有这个方法,这里的代码将... 阅读全文

posted @ 2010-08-26 17:01 Bruse 阅读(440) 评论(0) 推荐(0)

EF学习笔记28:如何实现自己的预先加载(Eager Loading)策略

摘要: 背景: 在过去的两年中,很对开发者都抱怨EF中预先加载的执行方式。 下面是你经常会使用的预先加载的方式: 上面代码的意思很明确,要求EF预先加载所有符合要求的Blog的相关的Posts,代码会很好的执行。但是问题是这里使用了"Posts”这样的字符串的方式,这对于已经习惯于在常规的Linq语句或者Linq to SQL语句中使用强类型的我们来说,用string的这样类型不安全的方式... 阅读全文

posted @ 2010-08-26 16:25 Bruse 阅读(465) 评论(0) 推荐(0)

EF学习杂记33:EF中的级联删除是怎么运作的

摘要: 假设你有下面所示的具有级联删除关系的数据库表结构: 这里的级联删除规则是,当删除Category的时候,应当级联删除与之相关联的Products。 如果你根据上面的数据表结构生成相应的EF模型,像下面这样,看上去没有什么异常,这里并没有显示与级联删除相关的信息: 但是如果你看一下后台的CSDL文件,你就会发现有一点不同的地方,如下面文件所示: <Association Name=&quo... 阅读全文

posted @ 2010-08-26 14:02 Bruse 阅读(2705) 评论(0) 推荐(0)