摘要: 第4章对关系使用默认规则与配置在第3章,你已经掌握了默认规则与配置对属性以及其在数据库映射的字段的影响。在本章,我们把焦点放在类之间的关系上面。这包括类在内存如何关联,还有数据库中的外键维持等。你将了解控制多重性关系,无论是否是必须的,还将学习级联删除操作。你会看到默认行为以及如何使用Data Annnotations和Fluent API来控制关系。你会看到很多只能使用Fluent API而不能使用Data Annotations的情况。上一章我们介绍过"映射到非Unicode数据库类型"就只能在Fluent API中找到。在前几章你已经看到了几个有关默认关系的例子,如代 阅读全文
posted @ 2013-07-23 17:05 ML Guo 阅读(260) 评论(0) 推荐(1) 编辑
摘要: 第三章对属性使用约定和配置在第2章,对Code First的约定以及如何通过配置覆写默认约定行为进行了大致的介绍。学习了如何使用Data Annotations进行配置,也学习了如何使用Fluent API作出相同的配置,并对两者进行了对比。在本章乃至以后几章里,将深入各种用于配置模型的领域。对每个主题会看到Code First如何通过默认规则进行工作,也会学到如何通过Data Annotations和Fluent API来覆写这些规则。前已指出,在Fluent API中可以实现的很多配置在Data Annotations无法实现。我们会在适当的时机指出这些差异。本章专注于对类中属性的配置,以 阅读全文
posted @ 2013-07-23 17:02 ML Guo 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 第二章:Code First概览如果你使用第一、二版的EF框架工作过,你会回想起书中的业务案例:Break Away Geek Adventures, 简称BAGA。BAGA共享了很多像我们这样的奇客的冒险旅行。但是几年过去了,业务又在增长,到了需要更新应用程序的时候了。既然BAGA为软件奇客服务,他们不能拒绝尝试使用新技术,如EF的Code First.在这一章里,我们从一个小例子来开始学习Code First的默认行为,然后逐步向这个例子里添加影响这种行为的信息。我们将开始于BAGA业务域的一个小片断:包括我们旅行的目的地和我们的奇客们在这次旅行的住所。Code First的美妙在于域类的 阅读全文
posted @ 2013-07-23 17:01 ML Guo 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 这个是在学习EF CodeFirst时发现的,对于初学者还是不错的。果断转发,方便自己以后查阅和学习。对于学习Code First 这个教程讲解的还是很详细。第一章:欢迎来到Code First(译者注:为方便起见,不再直译Code First)微软的ADO.NET实体框架(Entity Framework),泛称EF,把外部(out-of-the-box,译成“外部”不一定对,我是这样理解的:the-box可能意指.NET框架,合起来的意思就可能是“外部”了 — 译者ro1cn注)的对象关系映射(ORM)引到了.NET和Visual Studio。实体框架的核心是实体数据模型,这是应用程序域 阅读全文
posted @ 2013-07-23 16:48 ML Guo 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Entity Framework概述 EF是一个对象关系映射(ORM)框架,允许开发人员使用特定于域的对象关系型数据,开发人员通常不需要编写大量的数据访问代码。使用EF,开发者可以利用LINQ进行查询,并可以将结果以强类型返回。实体框架的实现提供服务,如更改跟踪,标识解析,延缓加载,以便开发者可以专注于他们应用程序的业务逻辑,而不是基础的数据访问。 简单的来说:EF是一个ORM(Object/Relational Maping)框架,是一个增强了的ADO.NET,为开发人员提供了访问数据库中的数据存储和处理结果自动化机制,除了DataReader 和DataSet之外。 ORM是一个像MS S 阅读全文
posted @ 2013-07-19 17:57 ML Guo 阅读(323) 评论(0) 推荐(0) 编辑
摘要: MSDN:获取或设置一个包装筛选器对象,该对象用于在传输之前修改 HTTP 实体主体。这个的关键在于实现筛选器对像,查看Filter接受的类型是Stream。所以可以自定义一个Stream类,当创建 Stream 对象并将 Filter 属性设置为 Stream 对象时,所有发送的 HTTP 输出将通过筛选器。自定义Stream类public class ChangeStream : System.IO.Stream{ private System.IO.Stream output; public ChangeStream(Stream s) { output ... 阅读全文
posted @ 2013-03-13 14:55 ML Guo 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 简介 调试是软件开发周期中很重要的一部分。它具有挑战性,同时也很让人疑惑和烦恼。总的来说,对于稍大一点的程序,调试是不可避免的。最近几年,调试工具的发展让很多调试任务变的越来越简单和省时。 这篇文章总结了可能节省你大量时间的 11 个 Visual studio 的调试技巧和方法。 1 悬停鼠标查看表达式值 调试是很有挑战性的。比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可... 阅读全文
posted @ 2013-02-25 09:42 ML Guo 阅读(300) 评论(1) 推荐(0) 编辑
摘要: /// /// /// /// 要转换的值 /// 要转换成的类型 /// private static object ChangeType(object value, Type conversionType) { if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable))) { ... 阅读全文
posted @ 2013-01-17 17:57 ML Guo 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 生成SqlParameter[] public class DbParameterGenerator { /// /// 根据方法的参数获取sqlparameter /// /// 方法对像 /// 参数对应的值 /// public static System.Data.SqlClient.SqlParameter[] GetParameterGenerator(System.Reflection.MethodInfo method, object[] values) ... 阅读全文
posted @ 2013-01-17 10:20 ML Guo 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 对于特性与反射的一些基本知识可以参考MSDN:http://msdn.microsoft.com/zh-cn/library/vstudio/ms173183.aspx下面利用反射与特性做了一个关于实现DataTable与实体之间的相互转化的Demo.实体类 Author: public partial class Author { public Author() { } #region Model private int _id; private string _title; private strin... 阅读全文
posted @ 2013-01-17 10:05 ML Guo 阅读(210) 评论(0) 推荐(0) 编辑