摘要:
4.3 分组数据基本需求:根据送货城市分组返回所有订单。解决方案:在查询中使用group ... by ...子句。结果类型有点复杂,因为它是IEnumerableIGroupingstring, Order的对象。IGrouping是一个特殊的类,它有一个键(Key)属性,在本例中是送货地址的值,和一个值(Value)属性。值属性是一个IEnumerableT集合,它包含对应Key的... 阅读全文
摘要:
先给出返回的json数据。{"total":3,"rows":[ { "mobile":"13788888888", "certificateCode":"370682xxxxxxxxxxxx", "account":{ "realName":"刘德华", "mobile":null, "certificateCode":"370682xxxxxxxxxxxx&quo 阅读全文
摘要:
4.2 投影结果基本需求:用户只想查看订单日期和送货地址解决方案:为每个订单提取出所有的数据浪费资源,在本例中,仅仅需要一部分数据,你需要的是订单的投影。LINQ to Entities有一个投影方法:Select。我们看一个例子,查询所有订单的ID,日期和送货地址。新需求:在一个表格列里查看地址信息。4.2.1关联投影单一关联投影需求:在表格列中显示顾客的信息。然而检索顾客所有的信息是没必要的,... 阅读全文
摘要:
本章所有的例子都是在第二章OrdeIT结构的基础上完成的。4.1 筛选数据基本需求:根据送货城市查询订单。解决方案:使用LINQ的Where方法添加过滤功能。下面代码查询送货到New York的所有订单。新需求:查询多个送货城市的订单。下面代码查询送货到New York和Seattle的所有订单。如果按照上面的方法查询多个送货城市的订单是不合适的,因为提前并不知道要查询多少个城市的订单,更好的解决... 阅读全文
摘要:
三、对类进行查询因为数据库对EDM是完全抽象的,你可以完全忽略底层的数据库结构对类进行查询。EF使用映射信息转换查询成SQL。工作流如下:类和数据库之间的抽象不难理解。如果一个属性和数据表列的名称不匹配,你仍然可以在你的查询里使用属性名——这在类查询时非常明显。使用LINQ to Entities,你不太可能输入错误的名称,因为VS的智能提示给你提示正确的名称。更重要的是,如果你键入一个不正确的属... 阅读全文
摘要:
本章要点:1.EF查询技术。2.捕捉生成的SQL。3.深入理解EF查询引擎。4.常见的查询陷阱。一、查询引擎入口点对象服务层最重要的类是ObjectContext。在你的代码中它是最有用的类,因为它提供了唯一的执行LINQ to Entities查询的入口点。Visual Studio设计器的一个特征就是生成实体类,这些类继承自ObjectContext并且每个实体类(有些例外)有一个集合属性,表... 阅读全文
摘要:
这篇我们解决两个问题,一是组织产生的代码,而是完成我们的程序,实现基本的功能。组织产生的代码默认情况下,设计器产生一个文件,把所有代码都放到这一个文件中。这个文件以设计器文件的名字命名,扩展名为.vb 或 .cs,根据语言的不同。例如,model.edmx设计器文件创建了一个model.edmx.vb或者model.edmx.cs。如果查看一下代码,就会发现很乱。所有的类都放在一个文件中,还有很多... 阅读全文
摘要:
这一篇我们就来构建我们的应用程序。一、创建程序集1.在VS2010中,创建一个空的解决方案,命名为OrderIT。2.在解决方案中添加一个类库项目,命名为OrderIT.Model,同时添加引用System.Data.Entity。3.在解决方案中再添加一个ASP.NET MVC 3应用程序项目,添加OrderIT.Model的应用。完成上面的步骤,最后的效果如下图:二、使用database-fi... 阅读全文
摘要:
本章我们来看一个经典的订单应用程序“OrderIT”,它管理产品、订单、顾客的信息等。需求分析1.存储客户的信息。每个顾客都有名字、账单地址、送货地址。地址不是单纯的文本,而是由街道、城市、邮政编码、国家组成的。更重要的是,顾客可以访问Web服务添加和更新订单,所以需要一个用户名和密码访问Web服务。2.存储供应商的信息。每个供应商都有名字、国际银行帐户号码(IBAN)、顾客付款条款(顾客支付发票... 阅读全文
摘要:
上一篇我们看到了关系世界和对象世界的不同,正如你看到的,应用程序使用对象模型处理数据库数据很复杂。下一个问题是谁来处理这一复杂性。答案是如果你很疯狂的话,你可以自己解决。否则你可以采用O/RM工具,更确切地说使用Entity Framework。什么是O/RM?O/RM是object/relational mapping(对象/关系-映射)的首字母缩写。它使用元数据信息与数据库交互,通过这种方式,... 阅读全文
摘要:
上一篇讲解了通用数据容器,这一篇使用类来组织数据。类是面向对象编程语言的基础。使用类,你不需要知道具体的存储机制,数据源可以是数据库,Web服务,XML文件等。类提供了很多优势,尤其是在企业应用中。1.强类型 2.编译时检查 3.易于开发 4.存储无关使用类展示数据我们重新从零开始。你的客户想要在表格中展示所有的订单,第一步就是要新建一个Order类容纳订单数据,如下图所示:第二步再新建一个类,这... 阅读全文
摘要:
写在之前的话在深入研究实体框架的细节之前,我们先讨论从传统的DataSet方法转换到基于对象的方法实现数据访问所带来的便利,以及这两种方法不同的工作方式是怎样导致采用像Entity Framework这样的O/RM工具。使用Dataset和DataReader作为数据容器我们先看一个例子。假设有一个数据库,有Order和OrderDetail两个表,表结构如下图:我们要展示出所有的订单,只需创建一... 阅读全文
摘要:
写在开篇之前Entity Framework 4 In Action 这本书目前还没有中文版的,大体看了一下目录感觉还不错,如果想从中学到东西还是看原汁原味的好。从淘宝上搜了一下这本书要将近100块钱,亚马逊300多,只好将就着看电子书吧,如果想要电子书的朋友,可以到网上搜,有很多资源,这里就不附上下载地址了。本书内容一览Entity Framework 4 In Action 这本书适合于所有的Entity Framework开发者阅读,不管你是开发小型应用程序还是大型企业系统,你都会从这本书中受益颇多。本书将带领你从零开始创建一个应用程序,逐步向你展示Entity Framework的各种 阅读全文
摘要:
使用过EasyUI的朋友想必都知道疯狂秀才写的后台界面吧,作为一个初学者我不敢妄自评论它的好坏,不过它确实给我们提供了一个很好框架,只要在它的基础上进行修改,基本上都可以满足我们开发的需要。知道“疯狂秀才”写的后台界面已经有一段时间了,直到昨天才好好的研究了一下。在测试的过程中,我发现了一个自认为不友好的地方,举个例子:只剩下一个Tab选项卡时,点击“除此之外全部关闭”,接着会弹出两个提示框,提示“后边没有了~~”和“到头了前边没有了~~”。我平时经常使用VS作为开发工具,使用VS的朋友也会注意到,当只有一个页面打开时,右击“Close All But This”是变灰不可用的,我感觉这样更加 阅读全文
摘要:
最近用到DWZUI这个框架,觉得蛮好的,但是默认情况下有一点点不能满足我的要求。第一个问题:默认情况下,点击“资讯管理”,界面组件是展开的,因为菜单项很多,我需要菜单项都是关闭的,如下图我的解决方法是:找到“dwz.ui.js”这个JS文件里的这个函数function initUI(_box)默认情况下是active:0 ,也就是第一个默认是展开的,我把active的值改为100,这样只要我们的菜单项小于100就可以,如果你的菜单项很多的话,那就改成1000好了。第二个问题:默认情况下,点击“界面组件”右边的减号是没有反应的。我的解决方法是:如上图,把alwaysOpen:true,改为alw 阅读全文