TsOrm基于 .Net 的簡易 ORM
TsOrm 是為了學習 DynamicMethod 和 Lambda 表達式而寫出來的簡易的 ORM ,如果你不想使用 EF ,NH 等重量級 Orm,歡迎大家學習和使用 TsOrm!
TsOrm 使用非常簡單,代碼如下:
創(chuàng)建IOrm , TsOrm 支持 SqlServer、MySql、PostgreSQL
string connectionstring ="DataSource=.\\SQLEXPRESS;uid=sa;pwd=root;Initial Catalog=test;Integrated Security=SSPI;Integrated Security=True"; //SqlServer IOrm Sqlserver = OrmFactory.GetOrm(ServerType.SqlServer, connectionstring); //MySql IOrm MySql = OrmFactory.GetOrm(ServerType.MySql, connectionstring);
執(zhí)行SQL
查詢操作
string sql = "SELECT * FROM table"; //返回第一行第一列 object obj = orm.SqlQuery(sql).ExecuteScalar(); // 返回 DataTable DataTable table = Sqlserver.SqlQuery(sql).ExcuteDataTable(); // 返回List<T> List<Entity> list = Sqlserver.SqlQuery(sql).ToEntityList<Entity>();
增刪改操作
string sql = "DELETE FROM table"; int n =orm.SqlQuery(sql).ExecuteNonQuery();
Interesting Things
[Table("data_user")]
public class User
{
public long Uid { get; set; }
public string NickName { get; set; }
}
IOrm<User> orm = OrmFactory.GetOrm<User>(ServerType.SqlServer, connectionstring);
//查找
List<User> user = orm.SqlQuery(sql).ToEntityList();
//執(zhí)行存儲過程
List<User> result = orm.SqlQuery(sql,parameter).ToEntityList(CommandType.StoredProcedure);
//可以這么更新
int count = orm.UpdateColumn("NickName", "TsOrm").Where("Uid=89480").Update();
//可以這么使用Lambda更新
int count2 = orm.UpdateColumn("NickName", "TsOrm2").Where(x => x.Uid == 89480).Update();
//可以這么使用Lambda更新
int count3 = orm.UpdateColumn(x => x.NickName, "TsOrm").Where(x => x.Uid == 89480).Update();
//如果你數(shù)據(jù)庫中有一列儲存的Json字符串 你可以在需要Json反序列化的地方加上JsonNet Attribute
//TsOrm會自動幫你把數(shù)據(jù)庫中的Json字符串反序列化
public class Entity
{
public string name { get; set; }
[JsonNet]
public Child child { get; set; }
}
public class Child
{
public string name { get; set; }
public int age { get; set; }
}評論
圖片
表情
