一.新建项目,选择新建一个空白解决方案(详细如图)
二.添加新建项,选择添加类库,添加WebMVc项目(详细如图)
1. Model(创建EF实体数据模型)
2. Common(创建公共帮助类)
3. DAL,IDAL(创建数据访问层)
4. DALFactory(创建抽象工厂类 )
5. BLL,IBLL(创建业务逻辑层)
6. WebApp(创建表示层 )
三.添加项目引用
1.数据访问层
IDAL引用Model
DAL引用Model,IDAL
DALFactory引用DAL,IDAL,Model
2.业务逻辑层
IBLL引用Model,IDAL
BLL引用Model,IDAL,DAL,DALFactory,IBLL
3.表示层
WebApp引用Model,IBLL,BLL,Common
四.搭建数据访问层
1.IDAL里面创建三个接口类(IBaseDal.cs,IDBSession.cs,IUserInfoDal.cs)
IBaseDal:
using OA.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OA.IDAL
{
public interface IBaseDal<T> where T:class,new ()
{
IQueryable<T> LoadEntities(System.Linq.Expressions.Expression<Func<T, bool>> whereLambda);
IQueryable<T> LoadPageEntities<s>(int pageIndex, int pageSize, out int totalCount, System.Linq.Expressions.Expression<Func<T, bool>> whereLambda, System.Linq.Expressions.Expression<Func<T, s>> OrderbyLambda, bool isAsc);
bool DeleteEntity(T entity);
bool EditEntity(T entity);
T AddEntity(T entity);
}
}
IDBSession:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OA.IDAL
{
/// <summary>
/// 业务层调用的是数据会话层的接口
/// </summary>
public interface IDBSession
{
DbContext Db { get;}
IUserInfoDal UserInfoDal { get; set; }
bool SaveChanges();
}
}
IUserInfoDal
using OA.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace OA.IDAL
{
public interface IUserInfoDal : IBaseDal<UserInfo>
{
//只定义自己特有的方法
}
}
2.DAL里面创建三个类(BaseDal.cs,DBContextFactory.cs,UserInfoDal.cs)
BaseDal:
using OA.DALFactory;
using OA.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OA.DAL
{
public class BaseDal<T> where T:class,new()
{
DbContext db = DBContextFactory.CreateDbContext();
/// <summary>
/// 查询过滤
/// </summary>
/// <param name