0
我有點麻煩插入到使用實體框架的mssql數據庫。我想插入兩個表,其中表1中的一個字段是table2中的外鍵。實體框架:插入與一對一參考
這是我的代碼至今:
Media media = null;
foreach(POI p in poiList)
{
media = new Media()
{
Path = p.ImagePath,
Title = p.Title
};
if (media != null && !context.Media.Any(me => me.Title == p.ImageTitle))
{
context.AddToMedia(media);
context.SaveChanges();
}
PointOfInterest poi = new PointOfInterest()
{
Altitude = 2000.0,
ID = p.ID,
Latitude = p.Latitude,
Longitude = p.Longitude,
LatitudeRoute = p.LatitudeRoute,
LongitudeRoute = p.LongitudeRoute,
Description = p.Description,
Title = p.Title,
DefaultImageID = media.ID,
};
context.AddToPointOfInterest(poi);
}
context.SaveChanges();
下使我這個錯誤:
具有相同鍵的對象在ObjectStateManagerAn對象已經存在具有相同的鍵已經存在在ObjectStateManager中
我還在學習如何使用實體框架,所以我甚至不知道這是否是插入兩個引用表的正確方法。
任何人都可以在這方面啓發我嗎? :) 任何幫助將不勝感激!
謝謝!
約40個媒體對象添加到數據庫並且指向context.AddToMedia()方法後,彈出錯誤消息。 – bomortensen 2010-04-27 10:11:21