C#中轻量级的orm框架sqlsugar,用法很简单,官网http://www.codeisbug.com/
github:https://github.com/sunkaixuan/SqlSugar
世界上最简单的ORM,只需要配置连接字符串,F5运行控制台自动建库建表运行DEMO
Using SqlSugar is very simple ,And it's powerful.
SqlSugar=One object+One parameter=16 functions,
Support:MySql、SqlServer、Sqlite、Oracle 、 postgresql
public class DbContext
{
public DbContext()
{
Db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = string.Format("Data Source = {0}; Password = {1}; User Id = {2}; Pooling = true; MAX Pool Size = 80; Min Pool Size = 1",
ConfigHelper.Instance.sysConfig.IpPortDatabase,
AesHelper.AESDecrypt(ConfigHelper.Instance.sysConfig.PwdDatabase, ConfigHelper.Instance.sKey),
ConfigHelper.Instance.sysConfig.UserDatabase),
DbType = DbType.Oracle,
InitKeyType = InitKeyType.Attribute,//从特性读取主键和自增列信息
IsAutoCloseConnection = true,//开启自动释放模式和EF原理一样我就不多解释了
//InitKeyType = InitKeyType.SystemTable //初始化主键和自增列信息到ORM的方式
});
}
//注意:不能写成静态的
public SqlSugarClient Db;//用来处理事务多表查询和复杂的操作
//用来处理数据库表的常用操作
public SimpleClient<STU_BASE> StuBaseDb { get { return new SimpleClient<STU_BASE>(Db); } }
}
今天遇到一个这个问题,以后使用过程中需要注意:
//第一种方法是正常的sql查询
var list = new DbContext().Db.Queryable<STU_BASE>().Where(it => it.ID == custID).ToList();
//第二种方法是先获取表所有数据,在内存中过滤。不建议使用这种方式,表数据量大的时候,内存吃不消
var list2 = new DbContext().StuBaseDb.GetList().Where(it => it.ID== custID).ToList();