摘要: 映射继承OrderIT使用两种继承策略:每个层次结构一张表(table per hierachy(TPH))每个类型一张表(table per type(TPT))。数据库不支持继承,但是使用这些继承策略,可以模拟这一行为。我们先从TPH策略开始。TPH继承TPH将所有的数据保存在一个表中,使用一个或多个字段的值来识别每行记录所属的类型。在OrderIT中,Customer和Supplier类被持... 阅读全文
posted @ 2011-10-28 22:26 BobTian 阅读(2597) 评论(6) 推荐(2) 编辑
摘要: 在模型中定义关系 在OrderIT模型中,有三种类型的关联:one-to-one,one-to-many和many-to-many。 One-to-one 关系 one-to-one关系的典型例子是订单详细(order detail)和订单(order)。创建这种类型的关联一点也不困难,但是涉及几个步骤: 1. 通过添加导航属性修改OrderDetail类。如果选择外键关联,还必须加上外键... 阅读全文
posted @ 2011-10-28 14:58 BobTian 阅读(2565) 评论(1) 推荐(1) 编辑
摘要: 本章内容包括:介绍EDM(Entity Data Model)创建EF域模型类 描述类 描述数据库 映射类到数据库首先,让我们讨论一下EDM。Entity Data ModelEntity Data Model(EDM)是EF的核心。事实上,EF就是在对象模型(Ojbect Model)和数据库之间创建一个抽象层,用来降低两者的耦合度的工具。应用程序只与对象模型类发生作用而忽略数据库的存在,正是E... 阅读全文
posted @ 2011-10-27 18:12 BobTian 阅读(5686) 评论(2) 推荐(0) 编辑
摘要: 在上一篇中本来打算结束的,最后遇到点小问题,不得不分开,废话少说,开始吧。 这一篇中,我们完成最后的工作,在页面中显示数据。我返回的是JSON数据,所以首先写一个JsonHelper类。 在LiveText.WebUI项目里新建一个Tool文件夹,在这个文件夹里新建一个JsonHelper类。代码如下: public static class JsonHelper{ /// <summ... 阅读全文
posted @ 2011-10-25 09:51 BobTian 阅读(3240) 评论(19) 推荐(2) 编辑
摘要: 昨天达内来我们学校进行宣讲,学院组织毕业生参加。会后我跟他们的负责人介绍了自己的情况,于是他们让我今天过来做了一套.NET的试题。拿到试题,并没有什么难度,我很快就做完了,看了答案做的还不错。对于他们给我的介绍,让我心动的有两点,一是他们是订单培训,二是我可以系统的学习一下。今天我确实心动了,我交了100块钱的预报名费。但是我真的需要参加这个培训吗? 从下午到现在,我都在纠结到底需不需要参加这个... 阅读全文
posted @ 2011-10-24 21:49 BobTian 阅读(3472) 评论(57) 推荐(0) 编辑
摘要: 上一篇简单的实现了一下登录的功能,这一篇首先把后台的框架撘一撘。搭框架还是使用上文提到的模板,该模板使用frameset框架,关于在ASP.NET MVC下如何使用frameset框架,我推荐大家看一篇文章在ASP.NET MVC下使用frameset框架!。上一篇中,我们在View文件夹下新建了一个Admin文件夹,所以,我们先新建一个AdminController,添加如下代码:public class AdminController : Controller{ // // GET: /Admin/ [Authorize] public ActionResult I... 阅读全文
posted @ 2011-10-23 18:26 BobTian 阅读(3288) 评论(8) 推荐(1) 编辑
摘要: 实现登录这一篇,简简单单的把后台的登录功能实现,没有什么技术含量 首先在LiveText.WebUI项目中的Model文件夹中添加一个LogOnViewModel类,代码如下:public class LogOnViewModel{ [Required(ErrorMessage = "不能为空")] public string UserName { get; set; } [Required(ErrorMessage = "不能为空")] [DataType(DataType.Password)] public string Password { get 阅读全文
posted @ 2011-10-20 22:09 BobTian 阅读(2981) 评论(7) 推荐(0) 编辑
摘要: 在人民网:http://news.people.com.cn/GB/124421/index.html ,新华网:http://www.xinhuanet.com/xhzb/index.htm等网站都有文字直播。昨天刚刚完成了学校六十校庆上用的文字直播系统,当然不是使用MVC做的。今天我再使用ASP.NET MVC3+EF+JQuery完善一下这个系统,也作为Entity Framework 4 ... 阅读全文
posted @ 2011-10-13 16:35 BobTian 阅读(5260) 评论(18) 推荐(5) 编辑
摘要: 4.9 加载(Fetching) 预先加载指在一个查询中加载所有的实体和关联的数据。延迟加载指使用时再加载关联的实体。预先加载是检索数据最高效的方法。尽管它从数据库中检索所有的数据,但是只访问一次数据库,避免了延迟加载与数据库的频繁通信。 4.9.1 预先加载 预先加载通过ObjectQuery类的一个特殊方法:Include实现。这个方法接受一个字符串,表示要加载的导航属性。这个字符串被称... 阅读全文
posted @ 2011-09-21 14:14 BobTian 阅读(4023) 评论(12) 推荐(1) 编辑
摘要: 4.8 执行手动查询 有很多原因决定你会手动写查询。或许由EF生成的SQL太慢,又或许执行起来浪费了太多资源。另一种情况可能是当你动态生成一个如此复杂的查询,创建SQL代码比使用LINQ to Entities简单。 在这种情况下,你自己可以使用ObjectContext类的ExecuteStoreQueryT创建一个SQL命令。它允许你发出任意的查询并将查询结果映射到类。它的使用如下: ... 阅读全文
posted @ 2011-09-16 21:54 BobTian 阅读(2741) 评论(3) 推荐(0) 编辑
摘要: 4.7 使用函数 扩展LINQ to Entities查询的简便方法就是使用函数。有四种类型的函数可以应用: 规范函数—LINQ to Entities本身没有提供的一组预定义的函数。 数据库函数—一组预定义的SQL Server函数。 模型中定义的函数—存储在EDM中的用户定义的实体SQL函数。 自定义数据库函数—可以在查询中使用的用户定义的数据库函数。 在这部分,只涉及到规范函数和数据库函数... 阅读全文
posted @ 2011-09-16 19:58 BobTian 阅读(3296) 评论(2) 推荐(0) 编辑
摘要: 准备工作 Windows 8 32位下载地址: http://wdp.dlws.microsoft.com/WDPDL/9B8DFDFF736C5B1DBF956B89D8A9D4FD925DACD2/WindowsDeveloperPreview-32bit-English.iso VMware Workstation 8下载地址: https://download2.vmware... 阅读全文
posted @ 2011-09-16 16:39 BobTian 阅读(3158) 评论(8) 推荐(2) 编辑
摘要: 对Colorbox我不做过多解释了,有兴趣的朋友可以去这里查看,很详细。最近在项目中加入了Colorbox,其想法来自于博客园我的简历,点击添加或修改就弹出对话框,觉得挺好看,一个页面中还可以增加很多内容。查看了源代码,好像用的thickbox,呵呵,不确定啊,不管怎么样最后我选择了colorobx,当然我也有我的理由。废话少说,现在转入正题。先放两张图。这是我之前做的测试页面,基本上没有任何的样式,其实就是模仿博客园我的简历做的。当点击修改就弹出如第二张图所示的层,当我点击保存之后,该层自动关闭,同时发送一个AJAX请求更新第一张图中所示的数据。问题来了,在Chrome和FF中没有问题,但是 阅读全文
posted @ 2011-09-04 21:53 BobTian 阅读(11538) 评论(20) 推荐(3) 编辑
摘要: 继承引入了多态查询的概念。这种类型的查询认为继承层次结构和返回的对象可能是不同类型,但是继承自相同的基类。假设你想查询所有的产品。从多态查询获得的是Product对象列表,但具体的类型是Shirt或者Shoe,因为引擎自动实例化为正确的类型。你不仅可以自动得到正确的类型,还可以根据类型应用过滤。例如,你可以只查询鞋子或者只查询衬衫。我们敬爱的beta测试用户终于对OrderIT订单的展示满意了,现... 阅读全文
posted @ 2011-09-03 21:48 BobTian 阅读(2895) 评论(8) 推荐(2) 编辑
摘要: 4.4排序(Sorting)基本需求:用户想数据根据送货城市和邮政编码排序。解决方案:知道LINQ有一个扩展方法可以根据一个或多个属性排序你一定会很高兴。LINQ to Entities提供了这个方法的实现也一点也不奇怪。在C#中,使用orderby子句。这个子句接受要根据排序的属性。默认情况下,是升序,但是可以在属性后边加上关键字descending实现降序。如果有多个属性是降序,你可以在每个属... 阅读全文
posted @ 2011-09-03 08:57 BobTian 阅读(2898) 评论(1) 推荐(1) 编辑