PDA

View Full Version : مبتدی: اشکال در نحوه INSERT در فیلد IDENTITY در linq



nazi89
شنبه 28 دی 1392, 01:54 صبح
سلام دوستان لطفا به طور واضح بگید چطوری میتونم روی رکود های یک جدول که کلید آن به صورت IDENTITYاست عمل INSERT انجام بدم البته به صورت linq ممنون

mousa1992
شنبه 28 دی 1392, 02:38 صبح
فقط کافیه که براش مقداری رو ارسال نکنی همین !
کدتونو لطفا

ی مثال :

order ی جدول هست توی دیتابیسمون
و در این کد ی نمونه از اون میسازیم و فیلد های مورد نظر رو مقدار دهی میکنیم ، شما فیلدی رو که identity در نظر گرفتید نیازی نیست مقدار دهی کنید

Order ord = new Order { OrderID = 12000, ShipCity = "Seattle", OrderDate = DateTime.Now // … };




افزودن نمونه به جدول order
db.Orders.InsertOnSubmit(ord);

ثبت تغییرات
db.SubmitChanges();

nazi89
شنبه 28 دی 1392, 02:50 صبح
میخوام جدولم پر کنم خب

115505

mousa1992
شنبه 28 دی 1392, 02:54 صبح
پستمو ویرایش کردم لطفا دوباره بخونید مشکلتون حل میشه
فیلدی که identity در نظر میگیرید یعنی به صورت auto مقدار دهی بشه و دیگه نیازی نیست شما براش مقداری رو ارسال کنید

nazi89
شنبه 28 دی 1392, 17:41 عصر
مرسی گلم .
ولی من دقیقا همون کار را کردم. در جدول tazmoon کلید اون
یعنی id را مقدار دهی نکردم ولی بازم خطای ریر را میده



Cannot insert explicit value for identity column in table 'tazmoon' when IDENTITY_INSERT is set to OFF.
چند کد برای on و of کردن پیدا کردم ولی واسه من جواب نداد
یکیش اینوریه بود




set

Identity_insert tazmoon on
insert into tazmoon
( gozine_entkhabi, id_soal, id_student
)
values
(num, a, ids)

Identity_insert tazmoon off

mousa1992
شنبه 28 دی 1392, 20:25 عصر
قطعا دارید به یکی از فیلد های جدول tazmoon که خاصیت identity داره مقدار میدید؛ دوباره بررسی کنید فیلدهاتونو
ولی بازم اگه خواستید که به فیلد identity مقدار بدید اول دستور set Identity_insert tazmoon on
رو اجرا بگیرید و بعد دستور insert رو

و بعد از اون دوباره off کنید این خاصیت رو