PDA

View Full Version : مشکل در ذخیره دوباره رکورد توسط entity framework



Kaziveh
شنبه 25 مهر 1394, 00:00 صبح
سلام . من یک کلاس اخبار با یک جدول تگ دارم که رابطه آنها چند به چند است . قبل از اینکه اخبار رو درج کنم تگ ها رو در دیتابیس ذخیره میکنم و بعد اخبار رو . کدهای این بخش :

var ActualTagName = _tagService.GetAll().Select(x => x.Name.ToLower()).ToList();
foreach (var item in newsVM.Tags)
{
if (!ActualTagName.Contains(item.ToLower()) && !string.IsNullOrWhiteSpace(item))
_tagService.Add(new Tag { Name = item });

}

_uow.SaveAllChanges();

var TagList = _tagService.GetAll().Where(x => newsVM.Tags.Contains(x.Name)).ToList();
news.Tags = TagList;
_newsService.Add(news);
_uow.SaveAllChanges();


در اولین SaveAllChanges تگ ها در دیتابیس ذخیره می شوند و وقتی به دومین SaveAllChanges می رسد خطای زیر رو میدهد :

{"Violation of PRIMARY KEY constraint 'PK_dbo.Tag'. Cannot insert duplicate key in object 'dbo.Tag'. The duplicate key value is (9a1c7ec7-59de-4a3c-bd53-ca3f734dfefb).\r\nThe statement has been terminated."}


Entity Framework مجددا تگ ها رو میخواد درج کند و مشکل خطای کلید اصلی رخ میدهد . همین کد ها رو قبلا استفاده کرده بودم بدون هیچ مشکلی .
ممنون میشم اگر کمک کنید