SqlSugar-C#中数据库存储的框架

Posted 木白星枝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlSugar-C#中数据库存储的框架相关的知识,希望对你有一定的参考价值。

连接数据库

SqlSugar是通过SqlSugarClient来进行数据库的操作,而创建SqlSugarClient我们需要ConnectionConfig这个类对象

ConnectionConfig有6个属性分别是:

1.ConnectionString(必填):连接字符串

2.DataType(必填): 数据库类型

3.IsAutoCloseConnection:(默认false)是否自动释放数据库,设为true我们不需要close或者Using的操作,比较推荐

4.InitKeyType:(默认SystemTable)初始化主键和自增列信息的方式(注意:如果是数据库权限受管理限制或者找不到主键一定要设成attribute)

InitKeyType.SystemTable表示自动从数据库读取主键自增列的信息(适合SA等高权限的账户)

 如果是这种模式实体类就普通的实体类便可以,不需要加任何东西

InitKeyType.Attribute 表示从实体类的属性中读取 主键和自增列的信息(适合有独立的运维组的用户没有系统表操作权限)

 如果是这种模式实体类需要有所改变

1

[SugarColumn(IsPrimaryKey= true ,IsIdentity= true )]  //如果是主键并且是自增列就加上2个属性

1

[SugarColumn(IsPrimaryKey= true )] //如果只是主键只能加一个  

5.MoreSettings 

用于一些全局设置

MoreSettings .IsAutoRemoveDataCache 为true表示可以自动删除二级缓存

MoreSettings .IsWithNoLockQuery 为true表式查询的时候默认会加上.With(SqlWith.NoLock),可以用With(SqlWith.Null)让全局的失效

6.ConfigureExternalServices

(1) SerializeService 扩展你想要的序列化方式 

(2)ReflectionInoCacheService缓存方式 

(3) AppendDataReaderTypeMappings 自定义数据类型

(4) SqlFuncServices自定义拉姆达 

(5) EntityService 如果不想用SqlSugar里面的 实体特性可以用这个自定义实现

7.SlaveConnectionConfigs

主从模式配置

以上是关于SqlSugar-C#中数据库存储的框架的主要内容,如果未能解决你的问题,请参考以下文章

在 ios 框架项目中存储本地数据的最佳实践

使用实体框架和存储过程进行并发检查

在实体框架中使用存储过程

如何从实体框架中的存储过程中获取结果+数据库优先

在实体框架数据库中存储方法

在实体框架数据库优先方法中,如何从存储过程返回多个结果集?