1.分层
2.项目依赖关系
MODEL
IDAL -> MODEL
DAL -> IDAL,MODEL,EntityFramewrok(注意和MODEL里的版本要一致),System.Data.Entity
IBLL -> IDAL,MODEL
BLL -> IBLL,IDAL,MODEL,DI
Controller -> IBLL,MODEL,DI
Web -> Controller,MODEL
3.T4模版生成业务层和数据层接口
IDAL.tt
IDAL.tt
<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#><#@
output extension=".cs"#>
<#
CodeGenerationTools code = new CodeGenerationTools(this);
MetadataLoader loader = new MetadataLoader(this);
CodeRegion region = new CodeRegion(this, 1);
MetadataTools ef = new MetadataTools(this);
string inputFile = @"..\MODEL\OuOA.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
string namespaceName = code.VsNamespaceSuggestion();
EntityFrameworkTemplateFileManager fileManager = EntityFrameworkTemplateFileManager.Create(this);
#>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IDAL
{
<#
// Emit Entity Types
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
//fileManager.StartNewFile(entity.Name + "RepositoryExt.cs");
//BeginNamespace(namespaceName, code);
#>
public partial interface I<#=entity.Name#>BLL : IBaseDAL<MODEL.<#=entity.Name#>>
{
}
<#}#>
}