网站制作国内知名企业,郑州比较好的外贸公司,icp ip 网站备案查询系统,艾瑞指数Dapper是.NET下一个micro的ORM#xff0c;它和Entity Framework或Nhibnate不同#xff0c;属于轻量级的#xff0c;并且是半自动的。Dapper只有一个代码文件#xff0c;完全开源#xff0c;你可以放在项目里的任何位置#xff0c;来实现数据到对象的ORM操作#xff0c;体… Dapper是.NET下一个micro的ORM它和Entity Framework或Nhibnate不同属于轻量级的并且是半自动的。Dapper只有一个代码文件完全开源你可以放在项目里的任何位置来实现数据到对象的ORM操作体积小速度快。使用ORM的好处是增、删、改很快不用自己写sql因为这都是重复技术含量低的工作还有就是程序中大量的从数据库中读数据然后创建model,并为model字段赋值。这些ORM都可以轻松给你搞定。ORM给我们开发带来便利时性能也是一个让我们不得不考虑的问题。一般的ORM性能和直接写原生的sql比都差不少但是Dapper性能还很错甚至和DbHelperSQL方式性能高出很多。Dapper的基本用法执行执行一次或多次命令并返回受影响的行数。存储过程 插入语句 更新语句 删除语句string sql INSERT INTO Customers (CustomerName) Values (CustomerName);;using (var connection new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{var affectedRows connection.Execute(sql, new {CustomerName Mark});Console.WriteLine(affectedRows);var customer connection.QueryCustomer(Select * FROM CUSTOMERS WHERE CustomerName Mark).ToList();FiddleHelper.WriteTable(customer);
}查询执行查询并映射结果。string sql SELECT TOP 10 * FROM OrderDetails;using (var connection new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{var orderDetails connection.QueryOrderDetail(sql).ToList();FiddleHelper.WriteTable(orderDetails);
}参数在Dapper 查询中使用参数。string sql INSERT INTO Customers (CustomerName) Values (CustomerName);;using (var connection new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{var affectedRows connection.Execute(sql, new {CustomerName Mark});Console.WriteLine(affectedRows);var customer connection.QueryCustomer(Select * FROM CUSTOMERS WHERE CustomerName Mark).ToList();FiddleHelper.WriteTable(customer);
}结果将查询结果映射到不同的类型。匿名的 强类型 多重映射 多结果 多类型string sql SELECT TOP 10 * FROM OrderDetails;using (var connection new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{ var orderDetails connection.QueryOrderDetail(sql).ToList();Console.WriteLine(orderDetails.Count);FiddleHelper.WriteTable(orderDetails);
}