簡介
Dapper是.NET下一個micro的ORM,它和Entity Framework或Nhibnate不同,屬於輕量級的,並且是半自動的。也就是說實體類都要自己寫。它沒有復雜的配置文件,一個單文件就可以了。給出官方地址。
優點
- 使用Dapper可以自動進行對象映射!
- 輕量級,單文件。
- 支持多數據庫。
- Dapper原理通過Emit反射IDataReader的序列隊列,來快速的得到和產生對象。
基本的增刪改查操作
由於Dapper ORM的操作實際上是對IDbConnection類的擴展,所有的方法都是該類的擴展方法。所以在使用前先實例化一個IDBConnection對象。
IDbConnection conn = new SqlConnection(connString);
-
Insert
Book book = new Book();
book.Name="C#本質論";
string query = "INSERT INTO Book(Name)VALUES(@name)";
//對對象進行操作
conn.Execute(query, book);
//直接賦值操作
conn.Execute(query, new {name = "C#本質論"});
-
Update
string query = "UPDATE Book SET Name=@name WHERE id =@id";
conn.Execute(query, book);
-
Delete
string query = "DELETE FROM Book WHERE id = @id";
conn.Execute(query, book);
conn.Execute(query, new { id = id });
-
Select
string query = "SELECT * FROM Book";
//無參數查詢,返回列表,帶參數查詢和之前的參數賦值法相同。
conn.Query<Book>(query).ToList();
//返回單條信息
string query = "SELECT * FROM Book WHERE id = @id";
book = conn.Query<Book>(query, new { id = id }).SingleOrDefault();
