轻量ORM-SqlRepoEx (二)初始化SqlRepoEx
一、SqlRepoEx引用
暂时没放至nuget上,可以直接到https://github.com/AzThinker/SqlRepoEx下载源码,编译引用。
(一)、静态引用
1、需引用以下dll在\SqlRepoEx\SqlRepo.SqlServer.Static\bin\Debug\netstandard2.0目录下:
(1)、SqlRepoEx.dll;
(2)、SqlRepoEx.SqlServer.dll;
(3)、SqlRepoEx.SqlServer.Static.dll;
2、初始化SqlRepoEx工厂类
var connectionProvider = new AppConfigFirstConnectionProvider();
RepoFactory.UseConnectionProvider(connectionProvider);
RepoFactory.UseLogger(new NoOpSqlLogger())
以上为一个简单初始方式
(1)、AppConfigFirstConnectionProvider是一个简单的配置管理实现,如果需自定义自己的连接提供者,实现ISqlConnectionProvider接口即可,SqlRepoEx中SqlRepoEx.SqlServer.ConnectionProviders实现了四个标准数据库连接管理器。
(2)、使用RepoFactory的静态方法注册配置提供者,RepoFactory.UseConnectionProvider(connectionProvider);
(3)、注册一个日志器(必需注册一个);
二、使用Autofac注入方式
1、需引用以下dll
在\SqlRepoEx\SqlRepo.SqlServer.Autofac\bin\Debug\netstandard2.0目录下:
(1)、SqlRepoEx.dll;
(2)、SqlRepoEx.SqlServer.dll;
(3)、SqlRepoEx.SqlServer.Autofac.dll;
2、Autofac容器构建
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule<SqlRepoSqlServerAutofacModule>();
var connectionProvider = new AppConfigFirstConnectionProvider();
containerBuilder.RegisterInstance(connectionProvider)
.As<IConnectionProvider>();
// ... 其他类型注册
var container = containerBuilder.Build();
三、服务注册
1、需引用以下dll
在\SqlRepoEx\SqlRepo.SqlServer.ServiceCollection\bin\Debug\netstandard2.0目录下:
(1)、SqlRepoEx.dll;
(2)、SqlRepoEx.SqlServer.dll;
(3)、SqlRepoEx.SqlServer.ServiceCollection.dll;
2、以下是在Asp.Core中初始方式
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSqlRepo();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
四、资源工厂调用
以下为一简单使用
1、定义一个简单类
public class ToDo : Entity<int>
{
public DateTime CreatedDate { get; set; }
public bool IsCompleted { get; set; }
public string Task { get; set; }
}
(1)、在SqlRepoEx不必从Entity<int>中继承,如果你使用SqlRepo则是必需的;
(2)、声明的类型不必依赖于数据库,这点与EF是有很大区别的;
2、调用
var repository = RepoFactory.Create<ToDo>();
var results = repository.Query()
.Select(e => e.Id, e => e.Task, e => e.CreatedDate)
.Where(e => e.IsCompleted == false)
.Go();
foreach (var row in results)
{
Console.WriteLine($"{row.Id},{row.Task},{row.IsCompleted},{row.CreatedDate}");
}
(1)、使用RepoFactory的静态方法,创建一个Repository;
(2)、根据需求,通过Repository进行业务操作
轻量ORM-SqlRepoEx (二)初始化SqlRepoEx的更多相关文章
- 轻量ORM-SqlRepoEx (十)SqlRepoEx Nuget包下载说明
ORM-SqlRepoEx 是 .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵 ...
- SqlSugar轻量ORM
蓝灯软件数据股份有限公司项目,代码开源. SqlSugar是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法. 学习列表 0.功能更新 1.SqlSuga ...
- Dapper.NET——轻量ORM
Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...
- Dapper.NET—轻量ORM
Dapper.NET使用 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1 一 ...
- 轻量ORM-SqlRepoEx (十七)SqlRepoEx 2.30 版本更新说明
.Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,支持MySQL.SQL Server数据库方言,使用强类型操作数据的轻量级ORM工具,在减少魔法 ...
- 轻量ORM-SqlRepoEx (一)SqlRepoEx介绍
一.SqlRepo项目 发现SqlRepo项目库是在构建自动代码工具时.对于数据访问,在.Net下,有很多选择,比如EF,但EF使用起来,不是很方便的.以前一直使用Atk.Expression库+Sy ...
- C# Dapper 轻量ORM调试对SQLServer
Dapper简介 Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技 ...
- PL/SQL轻量版(二)——基本语法
一.流程控制 1.条件判断 语法: IF <布尔表达式> THEN PL/SQL 和 SQL语句 END IF; IF <布尔表达式> THEN PL/SQL 和 SQL语句 ...
- 轻量ORM-SqlRepoEx介绍
轻量级 ORM-SqlRepoEx 介绍 SqlRepoEx是 .Net平台下兼容.NET Standard 2.0人一个轻型的ORM.解决了Lambda转Sql语句这一难题,SqlRepoEx使用的 ...
随机推荐
- SpringBoot | 第三十四章:CXF构建WebService服务
前言 上一章节,讲解了如何使用Spring-WS构建WebService服务.其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务. ...
- 搭建Vue2.0开发环境
1.必须要安装nodejs 2.搭建vue的开发环境 ,安装vue的脚手架工具 官方命令行工具 npm install --global vue-cli / cnpm install --global ...
- Jms学习篇二:ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线 安装 1>下载:到http://activemq.apache.org/download.html 下载最新版本, 解压a ...
- 正则表达式把所有Paul替换成Ringo:Paul Puala Pualine paul Paul
代码实现如下: <!DOCTYPE html><html><body> <h2>JavaScript Regular Expressions</h ...
- JS基础学习——对象
JS基础学习--对象 什么是对象 对象object是JS的一种基本数据类型,除此之外还包括的基本数据类型有string.number.boolean.null.undefined.与其他数据类型不同的 ...
- 002Angular2工程目录解构
|--my-app 工程名 |--e2e 端到端测试 |--node_modules package.json列出的第三方模块放在此处 |--src |--app |--app.component.c ...
- Mybatis 的多个数据源
主要思路: DataSource --> SqlSessionFactory --> SqlSessionTemplate 第一方式: 定义多套 DataSource --> Sq ...
- SharePoint 2013 - REST Service
0. SharePoint 2013使用_api来标识出 REST SERVICE,REST Service其实是 client.svc web service的一部分,但为了简化 REST URI的 ...
- 使用 profile 进行python代码性能分析
定位程序性能瓶颈 对代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,c ...
- Android SDK 目录和作用详解
1.add-ons这里面保存着附加库,比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面.也可以是厂商自己制作的add-ons.开发中该文件是可选的,如果你没有用到 ...