У меня есть такая таблица
Table (Id decimal,XMLContent XML)
Теперь я хочу запросить записи, которые имеют c Введите это мой код
public ActionResult Index(int? id,FormCollection frm)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ViewBag.FormId = id;
ViewBag.FormName = db.Forms.Find(id).Name ;
var xMLDatas = db.XMLDatas.Include(x => x.Form).Where(x=>x.FormId==id).AsQueryable();
foreach (string item in frm)
{
if (item.StartsWith("xml-") && !string.IsNullOrEmpty( Request.Form[item]))
{
string i = item.Replace("xml-", "");
string value = Request.Form[item];
xMLDatas = xMLDatas.Where(x => x.XMLContent.Contains("<" + i + "[^>]*>"+value+"</" + i + ">")).AsQueryable();
}
}
return View(xMLDatas.ToList());
}
, но я получил это сообщение об ошибке по возвращении
Запрещено неявное преобразование из типа данных xml в тип данных nvarchar, таблица 'dbo.XMLDatas', столбец 'XMLContent'. Используйте функцию CONVERT для выполнения этого запроса.