1
我正在使用實體框架4.1(VS 2010,SQL Server 2012)將數據插入數據庫。 首先,我創建一個對象的實例,其值填充屬性和調用ADDOBJECT(),像這樣:使用實體框架獲取標識列值4.1
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();
}
}
的事情是,在數據庫中的表中有標識列:
VideoID int IDENTITY(1,1)
我需要獲取由身份函數插入的值以填充其他對象,並將VideoID作爲外鍵。例如:
FrameData frameData = new FrameData();
frameData.VideoID = videodata.VideoID;
frameData.Path = path;
我唯一能想到的就是在AddObject(videoData)之後查詢最大身份,但是我害怕競爭條件。
我是新來的實體框架,所以我很樂意爲此提供任何指導。
感謝您的快速回答。這確實是一個配置問題。 – Omri374