摘要:
突然想起来写点自己对abstract class的一点感悟,是因为早上项目中要完成一个抽象类的UnitTest。大家知道抽象类是不能实例化的,那怎样进行测试呢?其实很简单,这个是一个Mock的思想,我们再建的测试类中建一个内部类,这个内部类继承要测的abstract class,这样就解决了抽象类不能实例化的问题。在建这个内部类的时候,我们需要面对的一个问题就是抽象类的构造函数。如果你装了Resharper,它会很智能的帮你生成构造函数,代码如下:1 public abstract class AbstractViewModel2 {3 //注意访问控制符是pr... 阅读全文
摘要:
昨晚睡不着,想想还是再写点Migration的东西吧,一大早发布到园子里给各位兄弟鉴赏!上面两篇关于Migration的文章都是介绍如何进行Codebase-Migration的,你肯定要说:烦不烦啊,改点东西就要Package Manager Console里面敲命令。。。有木有一种自动的Migration方式,在我改好DomainModel后只要敲一次命令就全帮我搞定?这个可以有啊!!!下面我们介绍Automatic-Migration:CodeFirst默认的是Codebase-Migration,我们直接把Migrations文件夹中的Configuration类的构造函数中的Auto 阅读全文
摘要:
连续两天的博客平均访问量上千,给了我很大的鼓舞啊!今天继续讲Migration。首先我们来看一个需求,假设现在不允许Users表有重复的MyBlog,那我们怎么修改呢?现在打开Migrations文件夹,看看下面多了些什么?仔细观察不难发现,多了一些以时间戳和昨天输入的命令字符串组成的类文件,如201207181401353_AddUser.cs是用来创建User的,代码如下:AddUser 1 public partial class AddUser : DbMigration 2 { 3 public override void Up() 4 ... 阅读全文
摘要:
昨天的config和基本的使用已经讲过了,各位读者的评论我也认真看过想过,不知道读者们有没有动手试试,正所谓“纸上得来终觉浅,绝知此事要躬行”啊!如果您是有过多年开发经验(注意不是一个经验用多年噢!)并且有面向对象特别是Domain-Driven Design方面的思想的大鸟级人物,您一定会有所感触!在本系列之后,我会给大家推荐一本DDD方面的书,如果下面一段时间项目不是很忙的话会一边阅读一边写博客给大家分享和讨论,甚至翻译成中文做连载等等。。。好了,今天我们接着昨天的说!3. How to migrate.昨天我们已经使用CodeFirst反向生成了一个数据库,如果每个项目都能到此为止的话那 阅读全文
摘要:
自CodeFirst推出以来,一直以来都想去学一学用一用,苦于一直被各种事情所羁绊(当然这不是理由啦!)而delay。。。最近跳槽到一家德资企业,进项目组后主要在做一个船舶信息管理和控制类的软件,客户是挪威佬。项目中就用到了codefirst4.2,真心觉得老外相当地与时俱进啊!!! 于是再也忍不住了,要来好好玩一玩CodeFirst,为了督促我自己学习,我向园子里的各位博友保证会将CodeFirst这个系列写完整,恳请大家监督和鞭策我吧,哈哈!下面一段时间,我会带着如下几个问题去学习CodeFirst4.3:1. What's the advantage of codefirst.2 阅读全文