Billpeng Space

技术源自生活
随笔 - 273, 文章 - 0, 评论 - 97, 阅读 - 60万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

05 2013 档案

摘要:IList是 ICollection 接口的子代,并且是所有非泛型列表的基接口。IList 实现有三种类别:只读、固定大小和可变大小。无法修改只读 IList。固定大小的 IList 不允许添加或移除元素,但允许修改现有元素。可变大小的 IList 允许添加、移除和修改元素。ICollection接口是 System.Collections 命名空间中类的基接口。ICollection 接口扩展 IEnumerable;IDictionary 和 IList 则是扩展 ICollection 的更为专用的接口。 IDictionary 实现是键/值对的集合,如 Hashtable 类。 ILi 阅读全文

posted @ 2013-05-10 09:39 billpeng 阅读(306) 评论(0) 推荐(0) 编辑

摘要:转自:http://www.cnblogs.com/daxnet/archive/2010/07/19/1780764.html规约(Specification)模式本来针对规约模式的讨论,我并没有想将其列入本系列文章,因为这是一种概念性的东西,从理论上讲,与EntityFramework好像扯不上关系。但应广大网友的要求,我决定还是在这里讨论一下规约模式,并介绍一种专门针对.NET Framework的规约模式实现。很多时候,我们都会看到类似下面的设计:隐藏行号复制代码?Customer仓储的一种设计public interface ICustomerRespository{ Cust... 阅读全文

posted @ 2013-05-08 16:53 billpeng 阅读(4712) 评论(0) 推荐(2) 编辑

摘要:var a = db.As.Where(r => r.Username == "xinux").First(); var k = db.Entry(a).Collection(b => b.B).Query().Where(d => d.TaskId == 1); 阅读全文

posted @ 2013-05-07 12:18 billpeng 阅读(337) 评论(0) 推荐(0) 编辑

摘要:转自:http://diaosbook.com/Post/2012/12/9/performance-issue-in-select-one-or-few-colums-via-entityframework自从我用了EF,每次都很关心是否有潜在的性能问题。所以每次我写LINQ查询,都会使用SQL Profiler看一下实际生成的SQL语句,以便发现潜在的性能问题。也强烈建议大家这么去做,以免日后软件大了出了问题很难查。一、只选择某列或某些列有些时候,在C#里写LINQ虽然看着舒服,但性能不一定好,所以有必要做一些调整。比如这种情况:我需要知道一篇文章的点击数,仅此而已,我可能会写:conte 阅读全文

posted @ 2013-05-07 11:50 billpeng 阅读(411) 评论(0) 推荐(0) 编辑

摘要:当我们把属性设置为virtual时EF会默认此属性为延时加载,如果在lambda表达式中我们显式的加入了Include则为贪婪加载,当贪婪加载和延时加载同时使用时,则为贪婪加载,所以我们在设计Entity时,无论你是需要延时加载还是贪婪加载,都可以把实体类的属性设置为virtual 阅读全文

posted @ 2013-05-01 04:24 billpeng 阅读(646) 评论(0) 推荐(0) 编辑

摘要:聚合根到聚合根:通过ID关联;聚合根到其内部的实体,直接引用;聚合根到值对象,直接引用;实体到聚合根: 通过ID关联;实体到其聚合的聚合根:1对1ID关联,1对多可直接引用;实体到其聚合内的实体:直接引用,但不要循环引用;实体到其聚合外的实体:不可能有这种情况,因为实体都是在聚合内部的,对外不可见;实体到任何值对象:直接引用;值对象到聚合根: 通过ID关联;值对象到实体:直接引用;值对象到值对象:直接引用; 阅读全文

posted @ 2013-05-01 03:00 billpeng 阅读(676) 评论(0) 推荐(0) 编辑

摘要:在EntityFrameWork中定义值对象时应注意:1.不要在DBContext中声明。2.不要定义Key(主键)3.可以在类的顶部显示声明[ComplexType]4.其他实体引用时只能单个引用,不能引用列表5.由于值对象要求是只读的,定义属性时应: private string content;//对的 public string Content { get { return content; } private set { content = value; } }而不要像以下这么定义,E... 阅读全文

posted @ 2013-05-01 02:29 billpeng 阅读(265) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示