跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(四)Models(ORM、Repository模式、分页)



跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(三)Models(ORM、Repository模式、分页) (9-3 23:00)
       
跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(二)Models(ORM) (9-3 10:43)          
跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(一)数据库建模 (9-1 00:04)

今天,我们接上篇。我们在 Repository 文件夹下创建一个类BaseRepositoryBase.cs,这个类是要继承 IRepository 接口,实现里面的方法,这样,就把增删查改方法给抽象出来,以后的类只要继承BaseRepositoryBase.cs,就不用自己去实现啦。
代码如下:
Code

以上就是BaseRepositoryBase.cs。现在提醒你一下啊,我们在Models下面定义了三个实体类接口(IAccount.cs IAccountType.cs IUser.cs )呢,下面我们用EF来对它们实现,你就会发现EF的魅力啦,代码如下啊:      

Code
上面的代码你可是要仔细分析哦,你是否注意到上面代码中出现了一个 IsInObjectContext()方法, 这个方法又涉及到一个新概念啦,那就是“扩展方法”,详情参阅:http://msdn.microsoft.com/zh-cn/library/bb383977.aspx ,具体我就不说了,你看这个方法名称就基本上知道它的意思啦,主要起到验证的作用。这个扩展方法是如何实现的呢?我们在Repository文件夹下新建了一个Helper文件夹,在Helper文件夹下建立一个ObjectEntityHelper.cs 类,代码如下:
Code
OK,现在,我们看看解决方案的截图吧:
跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(四)Models(ORM、Repository模式、分页)
看到了这个图,你就会明白现在的项目架构了吧。
这篇就到这儿啦。下篇继续,共同努力啊。

你可能感兴趣的:(repository)