我在以下代码中针对 SQL Server 2008 R2 使用 Dapper.Net 来传递List<long>
参数以运行具有 WHERE IN 子句的 SQL 查询,但出现异常:
不存在从对象类型 System.Int64[] 到已知托管提供程序本机类型的映射。
顺便说一下,company_name_id 和 Industry_id 是 bigint 类型。
var parameters = new DynamicParameters();
parameters.Add("@companyNameId", entry.Id);
parameters.Add("@industryIds", deletedIndustryIds);
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["server1"].ConnectionString))
{
connection.Open();
connection.Execute("DELETE FROM company_name_industry_map WHERE company_name_id = @company_name_id and industry_id IN @industryIds", param: parameters);
connection.Close();
}
我确实在 github文档中看到 Dapper 具有 List 支持,但我想知道List<long>
是否支持。
根据https://code.google.com/p/dapper-dot-net/上的旧文档,似乎只支持int[]。