我最近遇到LINQ2SQL的一些问题,首先是因为我无法使用CRUD方法我不知道LINQ ORM的问题,我无法更新或删除已经映射到.dbml中的某个实体所以我总是用drop修复此问题并更新.dbml,但现在仍无法正常工作。
问题:实体已经没有关联
System.InvalidOperationException是 抓住消息=“没有seue puede quitar una entidad que no se ha asociado。“
来源= “将System.Data.Linq”
堆栈跟踪: en System.Data.Linq.Table`1.DeleteOnSubmit(TEntity 实体) en Resocentro.Informes.PlantillasMedicas.FormPlantilla.elimina(Int32 nro)en d:\ cs_PlantillasMedicas \ Resocentro.Informes.PlantillasMedicas \ Resocentro.Informes.PlantillasMedicas \ FormPlantilla.xaml.cs:拉利内阿 54 InnerException:
PD:LINQ XML PrimaryKey属性
用于检索实体的代码段:
IsPrimaryKey="true"
private PLANTILLA getTemplateEntityFromModel(int codigoPlantilla)
{
using (DB db = new DB())
{
PLANTILLA var = db.PLANTILLAs.FirstOrDefault(x => x.codigoplantilla == codigoPlantilla);
return var;
}
}
提前致谢!
答案 0 :(得分:3)
请检查您是否为表格定义了主键。如果不这样做,请将它们添加到表中,或者如果不能直接添加到设计器中。没有主键,Linq2sql不能很好地工作,特别是对于可以无声忽略的更新。
此外,您是否正在检索要删除的实体,例如:
var myEntity = myContext.SomeEntities.Single(e => e.MyId == 1); myContext.SomeEntities.DeleteOnSubmit(myEntity所);