Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  orm

摘要:public void ChangePassword(int userId, string password){ var user = new User() { Id = userId, Password = password }; using (var db = new MyEfContext... 阅读全文

posted @ 2014-05-21 15:35 billpeng 阅读(687) 评论(0) 推荐(0) 编辑

摘要:var user = db.UserInfos.FirstOrDefault(a => a.Id == 5); //会在sql代码中生成Street = "上海"代码 var address1 = db.Entry(user).Collection(b => b.Address).Query().Where(p => p.Street == "上海" ).ToList(); //会把所有的Street的代码都取回内存,然后在内存在再访问 var... 阅读全文

posted @ 2014-01-15 22:42 billpeng 阅读(327) 评论(0) 推荐(0) 编辑

摘要:1.加入List对象的Include var entity = db.XinDes.Include("Reviews").First(); db.XinDes.Remove(entity);2.或者可以clear掉list对象 var entity = db.XinDes.First();entity.Reviews.Clear(); db.XinDes.Remove(entity);否则请设置为级联删除。 阅读全文

posted @ 2013-11-22 22:10 billpeng 阅读(388) 评论(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 阅读(4711) 评论(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 阅读(336) 评论(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 阅读(410) 评论(0) 推荐(0) 编辑

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

posted @ 2013-05-01 04:24 billpeng 阅读(646) 评论(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) 编辑

摘要:Enable-MigrationsAdd-Migration XXXUpdate-Database –TargetMigration:"XXX" 阅读全文

posted @ 2013-04-28 09:30 billpeng 阅读(152) 评论(0) 推荐(0) 编辑

摘要:转自:http://www.cnblogs.com/dudu/archive/2011/07/11/ef_one-to-one_one-to-many_many-to-many.html 通过 Entiy Framework实践系列 文章,理了理 Entity Framework 的实体关系。 为什么要写文章来理清这些关系?“血”的教训啊,刚开始使用 Entity Framework的时候,由于没有静下心来认真理清关系,走了一些"痛不欲生"的弯路。而我们目前开发的项目都在使用 Entity Framework,为了避免其他人再经历"痛不欲生"的弯路。于是 阅读全文

posted @ 2012-10-15 14:21 billpeng 阅读(4386) 评论(0) 推荐(4) 编辑

摘要:在上篇随笔中, 我们发现Entity Framework在构建SQL语句时,将ToTable("CNBlogsTex.dbo.blog_PostBody")中 的"CNBlogsTex.dbo.blog_PostBody"转换为"[CNBlogsText.dbo].[blog_PostBody]",从而 造成不能进行跨数据库查询。 今天上午,我们通过Reflector对Entity Framework的代码进行分析,找出了真相。 真相如下: 1. 对于“CNBlogsTex.dbo.blog_PostBody"字符串,Ent 阅读全文

posted @ 2012-10-01 03:07 billpeng 阅读(265) 评论(0) 推荐(0) 编辑

摘要:又来一篇,大家也许都嫌烦了。但是写博客既能提高自己,又能帮助别人,而且每次写的过程中和发布出来之后都有收获,真是太赚了!麻烦大家忍一忍吧。 言归正题,在之前的一篇随笔“准备用Entity Framework实现数据的按需更新”中,我们实现了按需更新,但和这里的指定字段更新的应用场景不一样。 之前的按需更新的应用场景是:把需要更新与不需要更新的数据都给Entity Framework,由EF自己判断实际需要更新哪些。 现在的应用场景是:我明确知道要更新哪个字段,让EF做的只是更新这个操作,其他不用操心。 下面我们通过一个比喻来比较一下两者的区别。 比如我有一辆车想在汽车修理店更换一些部件。我把车 阅读全文

posted @ 2012-10-01 03:06 billpeng 阅读(236) 评论(0) 推荐(0) 编辑

摘要:解决了Entity Framework跨数据库查询问题,博客园现代化建设又向前迈进了一步。 在之前的一篇随笔“ 博客园现代化建设——AutoMapper ”中曾谈到,我们所遇到的应用场景是数据库查询返回的字段数少于实体类的属性,而默认情况下Entity Framework根据实体类的属性进行映射的,所以我们改用了AutoMapper。后来,真见在评论中指出可以在LINQ通过 select new 指定查询返回的字段,Entity Framework会根据返回的字段与实体类属性进行映射。 我们尝试了一下果然可以,但是,在所用的LINQ查询代码中有个地方不够现代化,代码如下: using (Bl. 阅读全文

posted @ 2012-10-01 03:06 billpeng 阅读(265) 评论(0) 推荐(0) 编辑

摘要:这篇文章将讨论查询结果的加载控制。 EF4.1 允许控制对象之间的关系,当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体 仅仅拥有一个相关的子实体,但是,多数情况下,你可能只需要加载部分数据,或者你喜欢的话,加载更多的数据。 默认情况下, EF4.1 仅仅加载查询中涉及的实体,但是它支持两种特性来帮助你控制加载: 贪婪加载延迟加载 贪婪加载 对于下面的查询 using (var context = new MyDomainContext()) { var orders = from o in context.Ord... 阅读全文

posted @ 2012-10-01 01:49 billpeng 阅读(309) 评论(0) 推荐(0) 编辑

摘要:我们的网页通常会有好几个部分组成,一些公共的区域我们通常会做成PartialView(部分视图),但这些视图并不是完全固定的,所以还是需要 特定的Controller来控制。如果只是静态的html,虽然也可以做成PartialView,但意义不大。下面演示一下MVC3中如何调用 PartialView。 首先我们创建一个测试用的Controller: TestController public class TestController : Controller{public ActionResult Message(){var testObj = new List<string>( 阅读全文

posted @ 2012-09-24 23:19 billpeng 阅读(24252) 评论(4) 推荐(3) 编辑

摘要:添加记录1、添加一条新纪录(例如:添加一条新闻) public static void addNewsInfo(NewsInfo entity) { using (SiteCMSDataContext db = new SiteCMSDataContext()) { db.NewsInfo.InsertOnSubmit(entity); db.SubmitChanges(); } }修改信... 阅读全文

posted @ 2010-07-19 21:12 billpeng 阅读(215) 评论(0) 推荐(0) 编辑

摘要:这两天刚把 NHibernate和Spring.NET 学习了一下。发现这个从Java上移植过来的.net框架的确是很方便好用的。省去了大量写SQL语句带来的麻烦,有过太多次的调试SQL语句的经历,为 了拼凑一条SQL语句,花费了很多的时间,看的头昏眼花不说,调试也很麻烦,开了查询分析器不说,还要不停的把语句从DebugInfo中 [ctrl+c][ctrl+v],费时费力。有了这个框架,... 阅读全文

posted @ 2009-04-24 23:27 billpeng 阅读(538) 评论(0) 推荐(0) 编辑

摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> --> NHibernate.Driver.SqlClientDriver Password=sa;Persist Security... 阅读全文

posted @ 2009-04-24 00:17 billpeng 阅读(258) 评论(0) 推荐(0) 编辑

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