ITLJF
.Net 程序员

联系站长:itljfs@163.com

豫ICP备17037278号-1

Copyright © 2013-2018 ITljf

豫公网安备 41102402000068号

使用SqlSugar
2019/5/2 17:53:56 标签
摘要:使用SqlSugar

使用SqlSugar + sqlite + Code First 使用

因为开发的网站太多,很多信息不好保存,所以准备写一个简单的管理系统,主要为网站的信息,FTP,VPN,服务器信息的管理。
两年前就看到 SqlSugar 了,看官方介绍效率非常高,实际也没有操作过,所以这次试一试,而且这次为了方便使用了sqlite为数据库,原来很少用,这次用来学习下,而且SqlSugar还可以使用Code First。所以,来试试吧。

SqlSugar官网

搭建开发环境

新建MVC项目,使用NuGet安装sqlSugarSystem.Data.SQLite,然后就可以开始了
sql数据库不用新建,直接使用就可以了,会自动生成的,默认在项目的App_Data文件夹下

建类和生成数据库

先建一个SqlSugar操作类,如下

public class SqlSugarClientDB
    {
        public static SqlSugarClient DB
        {
            get => new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString,//必填, 数据库连接字符串
                DbType = DbType.Sqlite,         //必填, 数据库类型
                IsAutoCloseConnection = true,       //默认false, 时候知道关闭数据库连接, 设置为true无需使用using或者Close操作
                InitKeyType = InitKeyType.SystemTable    //默认SystemTable, 字段信息读取, 如:该属性是不是主键,是不是标识列等等信息
            });
        }
    }

这时候注意使用CodeFirst 要将InitKeyType设为Attribute
SqlSugarClientDB.DB.CodeFirst.InitTables(typeof(Account));
在代码能运行的任意位置添加以上代码,运行即可生成
官方文档地址
在这里我发现一个Bug,这个CodeFirst,第一次生成代码,没有问题,但是后期如果修改列的话,会生成一个新的的表,但是没有任何的数据,而且是把原来的数据在的表生成了一个备份表。这点很不如EF的CodeFirst。

其他

增删改查官方文档里面有,我这里就不多说了,还有的是操作后不要忘了在后面还要有.ExecuteCommand()