3
我在以下代码中使用Dapper.Net对SQL Server 2008 R2传递List<long>
参数来运行具有WHERE IN子句的SQL查询,但我得到以下异常:Dapper.Net:IEnumerable <long>参数抛出异常:不存在从对象类型System.Int64 []到已知的托管提供程序本机类型的映射
没有将对象类型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上documentation那小巧玲珑的具有列表的支持,但我想知道List<long>
支持。
根据https://code.google.com/p/dapper-dot-net/的旧文档,它似乎只有int []被支持。