2

私はLinq-to-Entityの初心者です。これらは私のデータベーステーブルです。

create table Jobs 
( ID            NUMBER PRIMARY KEY,
  ....
)

create table Responsibilities
( ID            NUMBER PRIMARY KEY,
  JobID         NUMBER
  ....
)

JobID列は、Jobs(ID)を参照する外部キーです。

これらのテーブルを使用して、Visual Studioで、これらのテーブルへのインターフェイスを可能にするクラスを自動的に作成します。次に、ジョブを作成してデータベースに挿入しようとします。すべてのテーブルにトリガーがあり、主キーのテーブルごとに一意のIDを生成します。以下は、ジョブを作成するコードのスニペットです。

using (Workflow.WorkflowEntities entity = new Workflow.WorkflowEntities(connectionString))
{
    JOBS j = new JOBS();
    entity.AddToJOBS(j);
    entity.SaveChanges();

私が抱えている問題は、ジョブが保存されたときに、その主キーを取り戻せないことです。これは、Responsibilitiesオブジェクトを作成してジョブに追加し、すべてをまとめて保存する場合に特に問題になります。これは、ResponsibilitiesオブジェクトのJobIDフィールドに正しく入力されていないようです。

これを行う正しい方法は何ですか?どんなポインタでも大歓迎です、

mj

4

2 に答える 2

3

私は答えを見つけました。このページの最後の投稿から3番目。

https://forums.oracle.com/forums/thread.jspa?messageID=9904561

どうやら、VisualStudio2010はStoreGeneratedPattern属性をXMLに正しく保存していません。

編集1:VisualStudio2010サービスパック1でこれが修正されると思います。

于 2012-10-02T20:54:54.200 に答える
1

列のプロパティでStoreGeneratedPattern="Identity"を設定する必要があります

于 2012-10-02T20:31:00.400 に答える