0

我在 .NET 中有一个使用 Entity Framework 4 的应用程序。我使用 DB2/400 作为我的应用程序后端。我能够进行查询并从数据库中成功读取。但是,在任何其他操作(例如插入/更新/删除)中,我都会遇到错误。我在http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14222306找到了答案,其中指出我的 DB2 客户端驱动程序未配置用于事务。但是,在 /sqllib/cfg 文件夹下不存在 db2cli.cfg 文件(或我计算机上的其他任何地方)此外,我可以从绿屏/java 应用程序修改表。这是我的一种方法:

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

        }

我的问题是:

  • 我应该去安装 .NET 驱动程序/提供程序的 DB2 express-C 的另一个版本/安装吗?
  • 我可以在实体框架内使用任何其他方法进行数据持久性(例如在 jpa/hibernate 中我们可以使用显式事务)。

如果您有任何想法(我可以尝试,请在此处提及)

4

1 回答 1

0

我在 i 中使用实体框架时运气不佳。通常,我刚刚使用了 IBM i Access 的 ADO.NET 驱动程序。对不起,我没有更好的答案给你。几个月来,我一直在寻找 i 的 EF 驱动程序。

于 2011-08-12T14:51:57.030 回答