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