MVC

image

1.分层

image

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模版生成业务层和数据层接口

<#@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 = @"..MODELOuOA.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#>DAL : IBaseDAL<MODEL.<#=entity.Name#>>
    {
    }

<#}#>

}

T4模版生成业务层和数据层接口

4.为什么要用DI来解决

image

5.IDBSession存储属性

image

6.数据层仓储DBSession

数据层仓储DBSession

原文地址:https://www.cnblogs.com/tangge/p/4122055.html