• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Zxw.Framework.NetCore: 基于EF Core的Code First模式的DotNetCore快速开发框架,其中 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Zxw.Framework.NetCore

开源软件地址:

https://gitee.com/ceo_bitch/Zxw.Framework.NetCore

开源软件介绍:

Zxw.Framework.NetCore

Build Status

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

Nuget [最新版本:3.1.3.5]

Zxw.Framework.NetCore

  • Install-Package Zxw.Framework.NetCore -Version 3.1.3.5
  • dotnet add package Zxw.Framework.NetCore --version 3.1.3.5

开发环境

  • VS2019 / VS Code
  • .net core 3.1.100

支持的数据库

日志组件

  • log4net

DI组件

AOP缓存组件使用

本项目采用的AOP中间件 :AspectCore.Extensions.Cache

示例

.net framework版本地址

项目说明

更新日志

2019/12/17

    1. 添加框架同一入口扩展方法 AddCoreX
services.AddCoreX(config=> { })
    1. AddCoreX方法里面默认开启注入实现了ISingletonDependency、IScopedDependency、ITransientDependency三种不同生命周期的类,以及AddHttpContextAccessor和AddDataProtection。如需要自动注入,只需要按需实现ISingletonDependency、IScopedDependency、ITransientDependency这三种生命周期接口即可。
    1. 添加会话上下文 WebContext
    1. 升级 AspectCore 至 2.0.0
    1. 示例 Zxw.Framework.NetCore.Demo 已同步更新。

2019/09/16

  • 1.更换Oracle for efcore驱动,使用Oracle官方驱动

2019/09/15

  • 1.重构AOP缓存,统一用CachedAttribute

2019/08/11

  • 1.重构代码生成器,分CodeFirst和DbFirst

a.启用代码生成器

//启用代码生成器services.UseCodeGenerator(new CodeGeneratorOption());

b.使用代码生成器

//CodeFirst---根据model生成其他各层的代码dbContext.CodeFirst().GenerateAll(ifExsitedCovered:true);//DbFirst---根据现有数据表生成各层代码dbCOntext.DbFirst().GenerateAll(ifExsitedCovered:true);
  • 2.添加对APIController的代码生成

2019/04/25

  • 1.修改缓存拦截器默认key格式为:{namespace}{class}{method}{参数值hashcode}
  • 2.缓存拦截器添加对Task<>类型的支持

2019/04/18

  • 1.删除触发器功能...
  • 2.实现多数据库上下文。用法:
    //注入数据库上下文    services.AddDbContextFactory(factory =>    {        factory.AddDbContext<PostgreSQLDbContext>("db1", new DbContextOption(){ConnectionString = "User ID=postgres;Password=123456;Host=localhost;Port=5432;Database=ZxwPgDemo;Pooling=true;" });        factory.AddDbContext<SqlServerDbContext>("db2", new DbContextOption() { ConnectionString = "" });        factory.AddDbContext<MongoDbContext>("db3", new DbContextOption() { ConnectionString = "" });    });    //获取    public class TestController    {        public IDbContextCore DbContext1 { get; set; }        public IDbContextCore DbContext2 { get; set; }        public IDbContextCore DbContext3 { get; set; }        public TestController(DbContextFactory factory)        {            DbContext1 = factory.GetDbContext("db1");            DbContext2 = factory.GetDbContext("db2");            DbContext3 = factory.GetDbContext("db3");        }        public void Run()        {            var db = DbContext1.GetDatabase();            Console.WriteLine();        }    }
  • 3.多数据库上下文支持属性注入,用法如下:(具体请参考单元测试)
public class TestRepository: BaseRepository<MongoModel, ObjectId>, IMongoRepository    {        [FromDbContextFactory("db1")]        public IDbContextCore DbContext1 { get; set; }        [FromDbContextFactory("db2")]        public IDbContextCore DbContext2 { get; set; }        [FromDbContextFactory("db3")]        public IDbContextCore DbContext3 { get; set; }        public void Run()        {            Console.WriteLine("Over!");        }        public TestRepository(IDbContextCore dbContext) : base(dbContext)        {        }    }

2018/09/24

2018/08/26

  • 1.添加自定义视图分页查询,数据库分页,目前只支持sqlserver
  • 2.update packages

2018/07/06 合并dev分支到master

  • 1.添加EFCore直接返回DataTable功能
  • 2.DBFirst功能,目前仅支持SQL Server、MySQL、NpgSQL三种数据库。根据已存在的数据表直接生成实体代码,详见CodeGenerator
  • 3.添加单元测试项目,并完成对以上两点新功能的测试
  • 4.引入IOC容器Aspectcore.Injector,详见AspectCoreContainer.cs

开源协议

  • 本开源项目遵守MIT开源协议,请保留原作者出处。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap