LINQ的问题

时间:2009-03-11 15:39:02

标签: linq

我最近遇到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;
        }
    }

提前致谢!

1 个答案:

答案 0 :(得分:3)

请检查您是否为表格定义了主键。如果不这样做,请将它们添加到表中,或者如果不能直接添加到设计器中。没有主键,Linq2sql不能很好地工作,特别是对于可以无声忽略的更新。

此外,您是否正在检索要删除的实体,例如:

var myEntity = myContext.SomeEntities.Single(e => e.MyId == 1); myContext.SomeEntities.DeleteOnSubmit(myEntity所);