使用MVC4的SQL查询转换错误(nvarchar到int)

本文关键字:nvarchar int 错误 转换 MVC4 SQL 查询 使用 | 更新日期: 2023-09-27 18:02:33

这段代码是我从Agent Shark的另一个stackoverflow帖子中收到的,并为我的使用稍微改变了一下。问题是我得到一个错误:

将nvarchar值"39432,39431,39430,39429,39428"转换为数据类型int时,转换失败。

问题是,我如何解决这个问题?

原始StackOverFlow Post:

使用MVC 4和实体框架6访问大型数据库的最佳方法是什么

下面是我使用的代码:
public void DeleteBatchCampaignContacts(IList<int> ids)
{
    if (ids == null) return;
    if (ids.Count == 0) return;
    var idsToDelete = new StringBuilder();
    foreach (var id in ids)
    {
        idsToDelete.AppendFormat(",{0}", id);
    }
    db.Database.ExecuteSqlCommand("DELETE FROM EmailContactCampaign WHERE EmailContact_EmailContactId in (@contactIds)",
    new SqlParameter("@contactIds", idsToDelete.ToString().Remove(0, 1)));
}

使用MVC4的SQL查询转换错误(nvarchar到int)

Database.ExecuteSqlCommand(string.Format("DELETE FROM CampainContacts WHERE CampaignId in ({0})", idsToDelete.ToString().Remove(0, 1)));