私はデータベースにデータを挿入するためにエンティティフレームワーク4.1(VS 2010、SQL Server 2012)を使用しています。 まず私はこのように、値を持つプロパティを記入し、()AddObjectメソッドを呼び出して、オブジェクトのインスタンスを作成します。エンティティフレームワーク4.1を使用してID列の値を取得
VideoData videodata = new VideoData();
videodata.StartCaptureTime = startCaptureTime;
videodata.EndCaptureTime = endCaptureTime;
videodata.CameraID = CameraID;
using (var context = new PercEntities())
{
if (context.VideoDatas.Where(c => c.VideoID == videoID).Count() == 0)
{
var videoData = new VideoData
{
StartCaptureTime = startCaptureTime,
EndCaptureTime = endCaptureTime,
CameraID = CameraID,
};
context.VideoDatas.AddObject(videoData);
context.SaveChanges();
}
}
事は、データベース内のテーブルには、ID列を持っていることを、次のとおりです。
VideoID int IDENTITY(1,1)
と私は、外部キーとしてVideoIDを持つ追加のオブジェクトを埋めるために、アイデンティティ関数によって挿入された値を取得する必要があります。例えば:私は考えることができ
FrameData frameData = new FrameData();
frameData.VideoID = videodata.VideoID;
frameData.Path = path;
唯一のものは、右のAddObjectメソッド(ビデオデータ)の後に最大身元を照会することでしたが、私は、レース条件が怖いです。
私はEntity Frameworkを使い慣れていないので、これについてのガイダンスは喜んでいただきたいと思います。
クイックアンサーに感謝します。それは本当に設定上の問題でした。 – Omri374