IBlogCategoryRepository 接口(IOC注入)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using EF.Model;namespace EF.DAL{
public interface IBlogCategoryRepository:IRepository<BlogCategory>
{
}
}
{
}
}
BlogArticleRepository实现
using System;using System.Collections.Generic;using System.Linq;using System.Text;using EF.Model;namespace EF.DAL{
public class BlogArticleRepository:RepositoryBase<BlogArticle>,IBlogArticleRepository
{
}
}
public class BlogArticleRepository:RepositoryBase<BlogArticle>,IBlogArticleRepository
{
}
}
看看后面两个具体数据操作类的代码极其简单,这就是EF4.0 之后的泛型的优点 ,可以使代码尽量的简洁。
4.EF.BLL层简单的实现一下业务
BlogCategoryService 实现关联表操作(添加一个BlogCategory分类,并且在这个分类下增加一个BlogArticle文章)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using EF.DAL;using EF.Model;namespace EF.BLL{
public class BlogCategoryService {
IRepository<BlogCategory> repositoryCategory;
IRepository<BlogArticle>
repositoryArticle;
public BlogCategoryService(IRepository<BlogCategory>repositoryCategory,IRepository<BlogArticle> repositoryArticle)
{ this.repositoryCategory = repositoryCategory;
this.repositoryArticle = repositoryArticle;
}
public BlogCategoryService() {
this.repositoryCategory = new BlogCategoryRepository();
this.repositoryArticle = new BlogArticleRepository();
} public BlogCategory CreateBlogCategory()
{
return repositoryCategory.Create();
} public BlogArticle CreateBlogArticle()
{
return repositoryArticle.Create();
}
public BlogCategory Insert(BlogCategory entity)
{
return repositoryCategory.Insert(entity);
}
public BlogCategory Update(BlogCategory entity)
{
return repositoryCategory.Update(entity);
}
public void Delete(BlogCategory entity) { repositoryCategory.Delete(entity);
}
}
}
public class BlogCategoryService {
IRepository<BlogCategory> repositoryCategory;
IRepository<BlogArticle>
repositoryArticle;
public BlogCategoryService(IRepository<BlogCategory>repositoryCategory,IRepository<BlogArticle> repositoryArticle)
{ this.repositoryCategory = repositoryCategory;
this.repositoryArticle = repositoryArticle;
}
public BlogCategoryService() {
this.repositoryCategory = new BlogCategoryRepository();
this.repositoryArticle = new BlogArticleRepository();
} public BlogCategory CreateBlogCategory()
{
return repositoryCategory.Create();
} public BlogArticle CreateBlogArticle()
{
return repositoryArticle.Create();
}
public BlogCategory Insert(BlogCategory entity)
{
return repositoryCategory.Insert(entity);
}
public BlogCategory Update(BlogCategory entity)
{
return repositoryCategory.Update(entity);
}
public void Delete(BlogCategory entity) { repositoryCategory.Delete(entity);
}
}
}