ServiceStack.OrmLite 就是个orm框架,可以实现类似ef的效果。
支持
SqlServerDialect.Provider // Any SQL Server Version
SqlServer2012Dialect.Provider // SQL Server 2012+
SqliteDialect.Provider // Sqlite
PostgreSqlDialect.Provider // PostgreSQL
MySqlDialect.Provider // MySql
OracleDialect.Provider // Oracle
FirebirdDialect.Provider // Firebird
VistaDbDialect.Provider // Vista DB
注意的地方:nuget安装的是有限制的。可以去下源码自己修改,去掉证书验证的代码。
//LicenseUtils.AssertValidUsage(LicenseFeature.OrmLite, QuotaType.Tables, typeModelDefinitionMap.Count);
参考 http://bbs.csdn.net/topics/391048399?page=1
主要根据官方文档和测试用例。
https://github.com/ServiceStack/ServiceStack.OrmLite
安装: Install-Package ServiceStack.OrmLite.SqlServer 以sqlserver为例
- 初始配置
- sql语法 主要就是增删改查
- 复杂点的语法
- 其他
初始配置
设置数据库链接
public virtual IDbConnection OpenDbConnection(string connString = null)
{
connString = connString ?? ConnectionString;
return connString.OpenDbConnection();
}
打开链接,然后就可以用了
using (var db = OpenDbConnection())
{
db.DropAndCreateTable<LetterWeighting>();
}
或者
var dbFactory = new OrmLiteConnectionFactory(connectionString,SqlServerDialect.Provider);
using (var db = dbFactory.Open())
{
if (db.CreateTableIfNotExists<Poco>())
{
db.Insert(new Poco { Id = 1, Name = "Seed Data"});
}
// result.PrintDump(); //PrintDump 输出到控制台 结果= {Id: 1, Name:Seed Data}
}