Sybase ASE实体框架 - 将记录更新到数据库时出错 - “附近的语法不正确”('。\ n“

时间:2011-08-04 17:21:23

标签: entity-framework sybase-ase

我正在尝试简单的更新和现有记录。我收到错误 - '('。\ n

附近的语法不正确

实体db = new Entities();

   try
    {

           var existingObj = new OBJETE
            {
                OB_ID_MR = 348,
                OB_ID_JE = 1156,
                OB_IS_NT = false,
                OB_ID_MS = 88,
                OB_POSITIONABS = "12,12,12,12",
                OB_ORDRE = 1,
                OB_UPDATEDATE = DateTime.Now
            };
            db.OBJETEs.Attach(existingObj);
            db.ObjectStateManager.ChangeObjectState(existingObj, System.Data.EntityState.Modified); 
            db.SaveChanges();

如果我尝试更新“not null”列,那么我可以更新此表中的记录。但是当我尝试更新可空值时,我会一直得到这个错误。请指教。

1 个答案:

答案 0 :(得分:2)

发现它!我的表没有主键。实体框架添加一些附加标记以禁用此类表的更新。

所以要么你在表中添加一个主键,要么就像我的情况那样不是一个选项,解决方法是在文本模式下打开edmx文件,并删除标签的条目 - “DefiningQuery”和所有它的内容为相关表格。另外我们需要更改=> store:Schema =“dbo”到该表的Schema =“dbo”。这应该可以解决问题。