刘凯的博客

导航

2014年7月20日

敏捷主义,关于敏捷的思考和启发

摘要: 这片文章是我这些日子以来通过读书获得的一些关于敏捷开发的思想,以及这些思想对我的启发。 这篇文章不会讨论具体的敏捷方法,而是讨论一下敏捷和早期开发方式在原则和逻辑上的区别。这些区别也是我们在实践敏捷中最容易忽视的,我们很容易就能记住每一个敏捷方法的特点,但是对于敏捷开发别后的原则和哲学,却甚少深思... 阅读全文

posted @ 2014-07-20 11:02 刘凯 阅读(1984) 评论(4) 推荐(3) 编辑

2013年2月27日

Entity Framework Code First 学习日记(10)-兼容遗留数据库

摘要: 在开始写本次的日记之前,首先需要给大家道个歉。因为最近一直忙于新的项目,所以有一个多月都没有继续更新了。 本篇日记我们将详细探讨如何将表现领域的类映射到现有的数据库。现在的经济形势不是太好,很多公司都取消了开发新系统的预算。在这种情况下,通常的做法是把原有的几个系统修改一下做个集成,先凑合用着得了。如果要对原有的系统做功能提升的话,肯定要重用原来的数据库结构并做一些小的改进,在这种情况下我们怎样使... 阅读全文

posted @ 2013-02-27 12:33 刘凯 阅读(3074) 评论(13) 推荐(9) 编辑

2013年1月23日

Entity Framework Code First 学习日记(9)-映射继承关系

摘要: 上次的日记中已经提前预告了将要介绍的内容,在本次日记中我将介绍Entity Framework Code First如何处理类之间的继承关系。Entity Framework Code First有三种处理类之间继承关系的方法,我们将逐一介绍这三种处理方法。 1.Table Per Hierarchy(TPH): 只建立一个表,把基类和子类中的所有属性都映射为表中的列。 2.Table Per T... 阅读全文

posted @ 2013-01-23 15:15 刘凯 阅读(5258) 评论(4) 推荐(4) 编辑

2013年1月22日

Entity Framework Code First 学习日记(8)-一对一关系

摘要: 通过上面两篇日记,我相信大家已经知道了Entity Framework Code First如何根据类之间的依赖关系推断并建立数据库中表之间的一对多和多对多关系。这次日记我们将详细Entity Framework Code First是如何建立数据库中的一对一关系。 在介绍一对多关系和多对多关系时,大家应该已经注意到了只要存在依赖关系的两个类的定义中包含对方的实例或实例的集合,Entity Fra... 阅读全文

posted @ 2013-01-22 11:02 刘凯 阅读(4993) 评论(3) 推荐(2) 编辑

2013年1月18日

Entity Framework Code First 学习日记(7)-多对多关系

摘要: 上一次的日记中我们详细讨论了Entity Framework Code First如何建立表之间的一对多关系。这次的日记中我们将详细介绍Entity Framework Code First建立多对多关系的默认行为,以及如何通过Fluent API改变默认行为。 本次日记主要介绍一下内容: 1.Entity Framework Code First在什么情况下会建立表之间的多对多关系,以及建立多对... 阅读全文

posted @ 2013-01-18 20:25 刘凯 阅读(4000) 评论(1) 推荐(2) 编辑

2013年1月17日

Entity Framework Code First 学习日记(6)-一对多关系

摘要: 很感谢王胖子2012同学的具体建议,从这次日记开始,我会在日记的开头介绍一下这篇日记的主要内容并给代码加高亮显示。好的,让我们切入正题。这篇日记我将介绍Code First将类之间的引用关系映射为数据表之间的一对多关系的默认规则。主要包含以下两部分内容:1.Code First将类之间的引用关系映射为数据表之间一对多关系的默认规则。2.用Fluent API更改外键的nullable属性和外键的名字。3.用Fluent API建立两个一对多数据表之间的多个外键。4.用Fluent API设置级联删除功能。1. Code First处理一对多关系的默认规则在详细介绍Code First的默认规则 阅读全文

posted @ 2013-01-17 21:22 刘凯 阅读(6343) 评论(3) 推荐(4) 编辑

2013年1月15日

Entity Framework Code First 学习日记(5)

摘要: 我今天要介绍怎样使用Entity Framework Code First的高级配置功能来处理domain driven design 中的另一种重要组成部分:Value Object,中文翻译过来叫做值对象。 所谓的值对象就是一些没有生命周期,也没有业务逻辑上唯一标识符的类。哪些类是Entity,哪些类是Value Object不是固定的,取决于具体的业务逻辑。比如说Customer这个类,如果... 阅读全文

posted @ 2013-01-15 21:58 刘凯 阅读(4377) 评论(6) 推荐(3) 编辑

2013年1月14日

Entity Framework Code First 学习日记(4)

摘要: 因为家里有点事,就耽误了随后的更新。很抱歉让大家等了好几天,我就不再耽误时间了,让我们马上切入正题。上次日记中我跟大家提前透露了这篇日记将介绍一些与DbContext有关的内容。廖羽同学问了两个问题,他问的问题正好是我这次要讲的,我们怎么配置DbContext的子类访问的数据库的位置。我相信大家最经常使用的数据库位置的配置方式就是配置文件了,也就是通过App.Config 或Web.Config来配置要访问的数据库。Entity Framework Code First同样也可以通过配置文件来配置要访问的数据库的位置。我们可以再配置文件里添加一个连接字符串的配置来定义数据库的位置<con 阅读全文

posted @ 2013-01-14 15:19 刘凯 阅读(7511) 评论(10) 推荐(5) 编辑

2013年1月10日

Entity Framework Code First 学习日记(3)

摘要: 我在上一篇日记的最后已经预告了,我这次将给大家介绍一下如何将Fluent API的配置组织的更好,更利于维护,但是一位“特别”同志迫不及待地揭晓了谜底,那么就让我们来看一下Fluent API的另一种使用方式吧。 我们项目中的domain中一般都有很多的类,如果我们把所有类的代码都写在DbContext子类的OnModelCreating重载方法中,那么这个方法将会非常庞大,并且各个类的配置都混杂... 阅读全文

posted @ 2013-01-10 21:57 刘凯 阅读(5763) 评论(12) 推荐(6) 编辑

2013年1月9日

Entity Framework Code First学习日记(2)

摘要: 本来打算每天都更新的,但是昨天项目上有点事情,也就忘了。跟所有想继续看的朋友说声抱歉,我保证以后会每天写一篇的,请各位放心,不会有始无终的。 相信通过上次的实例,大家已经知道了Code First怎样使用默认的约定进行各种数据库的映射。但是我们的类既然是根据domain driven design进行设计的,那么所有的类必然都是根据domain进行设计和开发的。我们不可能要求这些类都去遵守Code... 阅读全文

posted @ 2013-01-09 22:03 刘凯 阅读(7157) 评论(11) 推荐(5) 编辑