2011-08-12 32 views
0

我在.NET中使用實體框架4的應用程序。我將DB2/400用作我的應用程序後端。我能夠從數據庫中成功地進行查詢和讀取。 但是,在任何其他操作(如插入/更新/刪除),我收到錯誤。 我在http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14222306找到了答案,其中聲明我的DB2客戶端驅動程序未配置爲事務。 但是,在/ sqllib/cfg文件夾下不存在db2cli.cfg文件(或我的計算機上的其他任何位置) 另外,我可以從綠色屏幕/ java應用程序修改表格。 這裏是我的方法之一:無法在.NET中修改i系列DB2上的數據

using (var context = new Data.SchemaEntity()) { 
      string sql = "select * from schemaname.tablename where FLD='V2'"; 
      var rows = context.ExecuteStoreQuery<CUST>(sql, null); 
      CUST c = rows.First(); // This is giving me the correct data 

      if(c.EntityState == System.Data.EntityState.Detached) 
       context.CUSTS.Attach(c); 
      context.CUSTS.DeleteObject(c); 

      context.SaveChanges(); 

     } 

我的問題是:

  • 我應該去爲另一個版本/安裝的DB2 Express-C的那個 安裝.NET驅動器/供應商。
  • 我可以在實體框架內使用任何其他方法處理 數據持久性(例如在 jpa/hibernate中我們可以使用顯式事務)。

如果你有任何想法(即我才能嘗試,請不要在這裏提到)

回答

0

我沒有多少運氣使用實體框架與我。通常,我剛剛使用了IBM i Access中的ADO.NET驅動程序。對不起,我沒有更好的答案給你。我一直在尋找幾個月爲我的EF司機。

+0

仍在搜索?我也被綁定到iSeries和建立「胖」ado.net方法的簡單選擇... – e4rthdog

+0

是的,仍然在尋找。你可以購買一個包,看起來像是可以和EF一起工作,但我還沒有看到100%的方式。 –

+1

我發現我的解決方案..我正在使用DAPPER微ORM檢查出來..如果你想EF提供者,你必須與DBConnect一起使用是IBM的一個付費軟件產品 – e4rthdog