PDA

View Full Version : خطا در LINQ در زمان Insert



gharibeh223
دوشنبه 25 مهر 1390, 11:25 صبح
سلام .
یه پروژه تحت وب رو با LINQ شروع کردم . به صورت چند لایه نوشتم . نمی دونم این کاری که می کنم درسته یا نه ؟

var blCM = new Bll.BllChemicalMaterials();
dt = blCM.SelectAllChemicalMaterials(wellCode, drillingDate);

foreach (var chemicalMaterial in dt)
{
gridViewCM.Add(chemicalMaterial);
}

از این طریق اطلاعات از لایه Bll به gridViewCM اضافه می کنم و بعد یه سری عملیات انجام می دهم و به گرید هم نسبت داده می شه .

حالا مشکل اینجاست وقتی gridViewCM به لایه Bll پاس می دهم که تغییرات ثیت یشه ابتدا داده های قبلی پاک می کنم بعد تمام اطلاعات جدید به دیتا بیس Insert می کنم .

با خطای زیر مواجه می شم :

An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext. This is not supported.

gharibeh223
شنبه 30 مهر 1390, 08:53 صبح
دوستان نظر خواصی ندارن ؟

حداقل در مورد کاری که انجام می دهم نه خطای موجود .!!!

hf1988
یک شنبه 08 آبان 1390, 09:35 صبح
دوستان نظر خواصی ندارن ؟

حداقل در مورد کاری که انجام می دهم نه خطای موجود .!!!

این خطایی که داره میده به خاطر اینه که اون entity شما هنوز توی cache وجود داره به همین خاطر نمیتونه یه entity با entity key مشابه رو attach کنه. بهتره هر بار که از data context استفاده میکنی new کنی تا به این جور مشکلات بر نخوری :چشمک: