我有一张包含这些列的表格:
另一张表:PdfManuals_Manufacturers
尝试执行此操作:
public ActionResult DeleteManufacturer(int id)
{
var manufacturer = _db.PdfManuals_Manufacturers.Where(x => x.Id == id).SingleOrDefault();
var pdfManuals = _db.PdfManuals.Where(x => x.ManufacturerId == id).ToList();
if (manufacturer != null)
{
_db.PdfManuals_Manufacturers.DeleteOnSubmit(manufacturer);
_db.PdfManuals.DeleteAllOnSubmit(pdfManuals);
}
_db.SubmitChanges();
return RedirectToAction("Manufacturers");
}
但是我收到了这个错误:
The data types image and varbinary(max) are incompatible in the equal to operator.
我正在使用ASP.NET MVC和LINQ-To-SQL 我不明白为什么,也许你们可以帮助我? :)
答案 0 :(得分:1)
这可能是由LINQ造成的:它会检查值的实际变化(并不总是可能,因为你可以看到......)。
您可以使用UpdateCheck = UpdateCheck.Never:
子句来避免此检查[Column(Storage="_myColumn", DbType="VarBinary", UpdateCheck=UpdateCheck.Never)]
public string myColumn
{
...
}
在列的LINQ映射中