У меня проблемы с вставкой в базу данных mssql с использованием Entity Framework. Есть две таблицы, в которые я хочу вставить, где одно из полей таблицы 1 является внешним ключом в таблице 2.
Это код, который у меня есть:
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
Я все еще изучаю, как использовать структуру сущностей, поэтому я даже не знаю, будет ли это правильным подходом для вставки в две ссылочные таблицы.
Может ли кто-нибудь просветить меня об этом? :) Любая помощь будет принята с благодарностью!
Спасибо!