環境
●環境
・統合環境:Visual Studio 2019
・IBM Database Add-ins for Visual Studio 11.1インストール済み
●プロジェクト
・使用言語:C#(.NET Framework 4.6.1)
・種別:コンソールプログラム
・インストール済みパッケージ:EntityFramework 6.2.0, EntityFramework.IBM.DB2 6.1.0, IBM.Data.DB2 10.0.5.5
●データベース
・DBMS:DB2 11.1
前提・実現したいこと
上記プロジェクトから、DB2の既存データベース内のあるテーブルにEntity Frameworkを用いて、
アクセスしたい。(INSERT / ADD / DELETE / UPDATE等の操作を行いたい)
発生している問題・エラーメッセージ
DB2の既存データベース内のあるテーブルにアクセスする際、以下のエラーが発生する。
{"インデックスが配列の境界外です。"}
該当のソースコード
C#
1//"試したこと"で生成されたコンテキスト 2testDb = new TestDBContext(); 3//所望のテーブルのレコードにLINQでアクセス(ここで上記エラー発生。 4//恐らくテーブルのレコードを取得できていない為、上記エラーが発生しているものと予想しています。) 5var testRecord = testDb.TableA.Find(1);
試したこと
・以下のページを参考に、プロジェクトで既存DB2データベースに接続、
指定したテーブルを元にModel(コンテキスト)が生成されています。
(「データベースからCode First」でEDMを作成、テスト接続は問題なく完了しました。)
<参考ページ>
・EntityFrameworkのデータファーストとDbContextの接続文字列を動的に変える方法
・【DB2】DB2でLINQを使う(OKでした!!)
・Visual Studio内サーバーエクスプローラーには接続したデータベースの該当テーブルを表示できており、登録データの表示も可能です。
・既存のデータベース(SQL Server LocalDB)への接続も実装しておりますが、こちらはプロジェクトから問題なくアクセスできております。
回答1件
あなたの回答
tips
プレビュー