2011-08-04 19 views
0

単純な更新と既存のレコードを試しています。 \ nはSybase ASE Entity Framework - レコードをデータベースに更新中にエラーが発生しました - "不正な構文 '(' '" n "

エンティティデシベル=新しいエンティティ();

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(); 

私はその後、NULL可能値を更新しようとすると、「nullでない」の列は、私は、このテーブル内のレコードを更新することができますが、更新しようとした場合。このエラーは一貫して発生しています。アドバイスをお願いします。

+0

ADO.NETプロバイダのバグのようです。あなたのコードはそのまま動作するはずです。 –

答えて

2

見つけました!私のテーブルにプリマryキー。 Entity Frameworkに、このようなテーブルの更新を無効にするための追加タグを追加します。

したがって、テーブルに主キーを追加するか、私の場合のようにオプションではない場合、回避策は、テキストモードでedmxファイルを開き、タグのエントリを削除することです - "DefiningQuery"と問題のテーブルのすべての内容さらに、そのテーブルに対して=> store:Schema = "dbo"をSchema = "dbo"に変更する必要があります。これで問題は解決します。

関連する問題