PK として GUID を持つマージ レプリケーション スキームの一部であるデータベースがあります。具体的には、データ型はuniqueidentifier、デフォルト値(newsequentialid())、RowGUID はYesに設定されています。InsertOnSubmit(CaseNote) を実行すると、CaseNoteID をそのままにしておくことができると思い、MSSMS で新しい行を手動で入力した場合と同様に、データベースは次の Sequential GUID を入力します。代わりに、00000000-0000-0000-0000-000000000000を送信します。を追加CaseNoteID = Guid.NewGuid(),
すると、GUID は取得されますが、シーケンシャルは取得されません (確信しています)。
LINQ InsertOnSubmit() で SQL に次のシーケンシャル ID を作成させる方法はありますか?
以下は、データベースに新しいレコードを挿入するために使用しているコードです。
CaseNote caseNote = new CaseNote
{
CaseNoteID = Guid.NewGuid(),
TimeSpentUnits = Convert.ToDecimal(tbxTimeSpentUnits.Text),
IsCaseLog = chkIsCaseLog.Checked,
ContactDate = Convert.ToDateTime(datContactDate.Text),
ContactDetails = memContactDetails.Text
};
caseNotesDB.CaseNotes.InsertOnSubmit(caseNote);
caseNotesDB.SubmitChanges();
以下の提案の 1 つに基づいて、その列の LINQ で自動生成を有効にしましたが、次のエラーが表示されます -->ステートメントに INTO 句のない OUTPUT 句が含まれている場合、DML ステートメントのターゲット テーブルには有効なトリガーを含めることができません。 アイデア?