私はコンソール アプリケーションを持っています。私がやろうとしているのは、アプリケーションが実行されるたびに、日付と時刻がデータベース内のテーブルに送信されることです。
テーブル構造は次のようになります。
FTPRuns
ID int
Last Run datetime
十分に単純です。
この新しい変更を反映するために、アプリケーション内の model.edmx も更新しましたが、次のエラーが表示され、その意味が完全にはわかりません。
エラー 3002: 行 1330 から始まるフラグメントのマッピングの問題: テーブル FTPRuns のキー (FTPRuns.ID) のランタイム違反の可能性: 列 (FTPRuns.ID) は、概念的な側で EntitySet FTPRuns のプロパティ (FTPRuns.ID) にマップされますが、マップされません。 EntitySet のキー プロパティ (FTPRuns.ID、FTPRuns.LastRun) を形成します。
データベースの更新にも使用するコードのスニペットを次に示します。
using (ModelContainer ctn = new ModelContainer())
{
try
{
FTPRun ftp = new FTPRun
{
LastRun = DateTime.Now
};
ctn.FTPRuns.AddObject(ftp);
int changes = ctn.SaveChanges();
Console.WriteLine(changes.ToString() + " Changes saved");
Console.WriteLine("The LastRun Date Has Been Updated");
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.ToString());
}
}
誰かが私を助けることができれば、私はとても感謝しています:)
ありがとう。