您的位置:首页 > 其它

基于EF Core的Code First模式的DotNetCore快速开发框架

2017-10-15 20:09 519 查看

前言

最近接了几个小单子,因为是小单子,项目规模都比较小,业务相对来说,也比较简单。所以在选择架构的时候,考虑到效率方面的因素,就采取了asp.net+entity framework中的code first模式,从而可以进行快速开发。几个单子做完下来,顺便总结整理一下,近些时候也一直在学习dotnetcore,索性将项目都升级了,于是便有了这一套“基于EF Core的Code First模式的DotNetCore快速开发框架”。至于code first模式的优劣,此文将不再赘述。至于本文的目的,一是为了总结和整理工作这几年所学的一些知识,方便以后能够快速高效地接入项目中。再是分享出来,跟大家一起探讨学习,一起进步。欢迎各路大佬指正和建议^_^

 

项目地址

GitHub

dotnetcore版本:https://github.com/VictorTzeng/Zxw.Framework.NetCore

.net framework版本:https://github.com/VictorTzeng/Zxw.Framework.Nfx

 

码云:

dotnetcore版本:https://gitee.com/ceo_bitch/Zxw.Framework.NetCore

.net framework版本:https://gitee.com/ceo_bitch/Zxw.Framework.Nfx

 

项目架构

此项目主要分成两部分:Zxw.Framework.NetCore (核心类库)和 NetCore.Sample (示例)两部分。如图所示:

using System;
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Zxw.Framework.NetCore.CodeGenerator;
using Zxw.Framework.NetCore.Helpers;
using Zxw.Framework.Website.IServices;
using Zxw.Framework.Website.ViewModels;
using Zxw.Framework.Website.Models;

namespace Zxw.Framework.Website.Controllers
{
public class HomeController : Controller
{
private ITutorClassTypeService iTutorClassTypeService;

public HomeController(ITutorClassTypeService tutorClassTypeService)
{
if(tutorClassTypeService==null)
throw new ArgumentNullException(nameof(tutorClassTypeService));
iTutorClassTypeService = tutorClassTypeService;
}
public IActionResult Index()
{
CodeGenerator.Generate();//生成所有实体类对应的Repository和Service层代码文件
CodeGenerator.GenerateSingle<TutorClassType, int>();//生成单个实体类对应的Repository和Service层代码文件

return View();
}

public IActionResult About()
{
ViewData["Message"] = "Your application description page.";

return View();
}

public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";

return View();
}

public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}

protected override void Dispose(bool disposing)
{
if (disposing)
{
iTutorClassTypeService.Dispose();
}
base.Dispose(disposing);
}
}
}
View Code

 

总结

写博客真的很费力,希望自己能够坚持下去。

最后,欢迎各路大佬建议和拍砖~~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: