CSFramework.EF数据库框架 | .NET6 + EFCore
适用软件:基于.NET平台开发的软件系统,包括Winform桌面应用软件,Web,WebApi等。
运行平台:Windows, 跨平台
开发工具:Visual Studio 2019+,C#语言,.NET6+EFCore
数据库支持:SqlServer 2012+ / MySql5.7.34 / Oracle 11g
一、CSFramework.EF数据库框架简介
CSFramework.EF是C/S框架网最新发布的轻量级数据库框架,基于Entity Framework
实体框架搭建,提供大量通用类库助力您快速开发软件项目。
CSFramework.EF支持三种常用数据库,分别是SqlServer、Oracle、MySQL。该框架提供IDatabase通用接口,用户可扩展其他数据如
PostgreSQL,MongoDB,SQLLite等。
产品特点
1) 支持三种常用数据库(SqlServer、Oracle、MySQL)
2) 提供Add、Delete、Update、GetQueryable四组常用接口
3) 支持事务操作,默认为自动事务,可以手动控制事务
4) 统一数据库提供者(DbProviderFactory)
5) 统一数据库上下文(DbContext)
6) 统一接口,GetQuerable<T>,Add<T>,Remove<T>,Update<T>
7) 提供常用数据库元数据接口
8) 支持ADO.NET操作
9) 多个大型项目成功案例,运行稳定、安全可靠
10) 源码工整,注释完整,有配套的《软件使用手册》
11) 产品开源,提供全部源码
12) 免费升级,提供免费技术咨询服务
运行环境
基于Windows10操作系统运行,开发工具使用VS2019+或更高版本。
数据库支持Microsoft SQL Server 2012+、MySQL-5.7.34+、Oracle11G+
CSFramework.EF组成
CSFramework.EF数据库框架基于DbContext数据库上下文操作数据库,使用EntityFramework + LINQ操作数据库对象。CSFramework.EF提供的IDatabase接口定义一组常用操作方法,为开发者提供便捷,能满足开发企业级大型软件项目。
CSFramework.EF数据库工厂策略
CSFramework.EF数据库框架提供多数据库支持,目前已封装三种常用数据库:SqlServer、Oracle、MySql。采用策略模式实现多数据库设计,定义一个IDatabase接口,并实现MySqlDatabase、SqlServerDatabase和OracleDatabase三个数据库操作类,用户可扩展其他数据库,如:PostgreSQL,MongoDB,SQLLite等。应用时引用类库文件:CSFramework.EF.dll。
DatabaseEngine 类说明
用于初始化数据库。
序号
|
名称
|
类型
|
说明
|
1
|
Assemblies |
属性
|
实体模型所在程序集列表
|
2
|
GetEntityTypes |
方法
|
获取所有实体模型
|
3
|
GetTypes |
方法
|
获取所有类型
|
4
|
Initialize |
方法
|
初始化数据库引擎
|
5
|
Register(Assembly) |
方法
|
注册程序集
|
6
|
Register(List<T>) |
方法
|
注册程序集类型
|
DatabaseFactory 类说明
用于创建数据库实例(IDatabase接口)。
序号
|
名称
|
类型
|
说明
|
1
|
GetDatabase |
方法
|
根据数据库类型、连接字符串创建数据库实例
|
DatabaseConfig 类说明
数据库参数配置,创建 IDatabase接口类型的实例所需要的参数。
序号
|
名称
|
类型
|
说明
|
1
|
AllTypes |
属性
|
所有Type类型
|
2
|
CommandTimeout |
属性
|
执行命令超时,单位:秒
|
3
|
ConnectionString |
属性
|
连接字符串
|
4
|
DatabaseType |
属性
|
数据库类型
|
5
|
EntityNamespace |
属性
|
实体类所在的命名空间,当前数据库对应的实体模型所在命名空间。用于解决模型跨库问题
|
6
|
AllTypes |
EntityTypes
|
实体类列表
|
7
|
TableSuffix |
属性
|
表名后缀(分表时需要)
|
IDatabase 接口说明
IDatabase: 数据库核心接口,提供数据库连接以及数据操作相关方法
序号
|
名称
|
类型
|
说明
|
1
|
Add<T> |
方法
|
新增,插入记录
|
2
|
AddSync<T> |
方法
|
新增,插入记录异步方法
|
3
|
BuildConnectionString |
方法
|
根据IP、端口、账号、密码、数据库等信息创建连接字符串
|
4
|
BulkInsert |
方法
|
批导,批量插入
|
5
|
ConnectionString |
属性
|
连接字符串
|
6
|
CreateCommand |
方法
|
创建命令
|
7
|
CreateParameter |
方法
|
创建参数
|
8
|
CreateSqlProc |
方法
|
创建存储过程
|
9
|
DbContext |
属性
|
数据库上下文
|
10
|
DatabaseType |
属性
|
数据库类型
|
11
|
DefaultPort |
属性
|
默认端口
|
12
|
ExecuteCommand |
方法
|
执行命令, 支持sql, 存储过程
|
13
|
ExecuteScalar |
方法
|
执行SQL,返回第1行第1列数据
|
14
|
ExecuteSql |
方法
|
执行SQL,返回操作成功的记录数
|
15
|
ExecuteSql<T> |
方法
|
执行SQL,返回List<T>实体对象
|
16
|
ExecuteSqlAsync |
方法
|
异步:执行SQL,返回操作成功的记录数
|
17
|
GetDataSet |
方法
|
获取数据集,返回Dataset
|
18
|
GetDataTable |
方法
|
获取数据表,返回Datatable
|
19
|
GetQueryable<T> |
方法
|
获取T实体类型查询器
|
20
|
GetServerTime |
方法
|
获取数据库服务器时间
|
21
|
ParamPrefix |
属性
|
参数符号
|
22
|
Provider |
属性
|
CSFramework.EF数据库提供者
|
23
|
Remove<T> |
方法
|
删除记录
|
24
|
RemoveSync<T> |
方法
|
删除记录,异步操作
|
25
|
SaveChanges |
方法
|
保存DbContext 修改的对象实体到数据库。
|
26
|
SaveChangesSync |
方法
|
保存DbContext 修改的对象实体到数据库。异步操作
|
27
|
Schema |
属性
|
数据库架构,如:dbo
|
28
|
SelectAll |
方法
|
根据ORM Type类型,获取该表所有记录
|
29
|
SelectTop |
方法
|
查询并返回指定条数的记录
|
30
|
Transaction |
属性
|
事务对象
|
31
|
Update<T> |
方法
|
保存数据
|
32
|
UpdateSync<T> |
方法
|
保存数据,异步
|
IDatabaseProvider 接口说明
用于创建ADO.NET核心组件的对象实例,如:DbConnection, DbCommand, DbParameter, DbDataAdapter等组件。
序号
|
名称
|
类型
|
说明
|
1
|
GetDatabase |
方法
|
创建数据库实例,Idatabase
|
2
|
GetDbConnection |
方法
|
创建数据连接对象实例
|
3
|
GetDbCommand |
方法
|
创建命令对象实例
|
4
|
GetDbParameter |
方法
|
创建参数对象实例
|
5
|
GetDataAdapter |
方法
|
创建数据适配器对象实例
|
6
|
GetCommandBuilder |
方法
|
创建数据库SQL命令生成器对象实例
|
IDbMetaQuery 接口说明
CSFramework.EF提供的数据库元数据查询接口。
序号
|
名称
|
类型
|
说明
|
1
|
meta_GetDatabases |
方法
|
获取数据库的表或视图列表
|
2
|
meta_GetTableNames |
方法
|
获取数据库所有表名、视图名称
|
3
|
meta_GetTableStructure |
方法
|
获取表结构信息
|
4
|
meta_GetStoreProcedures |
方法
|
获取数据库所有用户自定义存储过程和函数
|
5
|
meta_GetStoreProceduresParameters |
方法
|
获取存储过程、函数的参数
|
6
|
meta_DbTypeName2NetTypeMapping |
属性
|
数据库类型名称对应.NET类型映射表
|
7
|
meta_DbTypeName2DbTypeMapping |
属性
|
数据库类型名称对应DbType枚举类型映射表
|
二、CSFramework.EF 接口使用方法
IDatabase接口应用 – 获取实体对象/DataTable对象
IDatabase接口应用 – 返回DataTable
IDatabase接口应用 – 查询数据
IDatabase接口应用 – 匹配数据
数据访问层dalBase基类定义一个受保护的_Database成员变量, 在实例化数据访问层同时实例化_Database 成员变量,DAL层通过调用
_Database相关接口访问和操作数据库。
三、VS解决方案
四、开发文档
《CSFramework.EF开发者手册》
CSFramework.EF数据库框架开发者手册
https://www.cscode.net/archive/csframework.ef/363596745297925.html
扫一扫加微信:
|
|