技术开发 频道

深入解读 Entity Framework 4.0和4.1

  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
{
}
}

  看看后面两个具体数据操作类的代码极其简单,这就是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);
}
}
}
0