PDA

View Full Version : مشکل در Updateاطلاعات یک جدول با Refrence به چند تا جدول دیگه در Linq



k_m
پنج شنبه 20 فروردین 1388, 11:55 صبح
سلام
من رو یک پروژه کار می کنم به مشکل خوردم راه حلی پیدا نکردم.
در یک جدول یک ستونش رو که الان می خوام Update کنم به یک جدول دیگه Relation داره . البته این ستون ForignKey است . مقداری که می خوام بریزم قبلا تو جدول Primary ریختم .
الان که مقدار رو در Object مربوط به Linq مقدار می دم خطای زیر رو می ده :
ForeignKeyReferenceAlreadyHasValueException

کسی می دونه من چه کار باید بکنم .؟؟؟؟
ممنون می شم .

Ali_Mor
شنبه 22 فروردین 1388, 00:12 صبح
میشه کدت رو اینجا بگذاری.
من این کار رو انجام میدم خطائی نداره. مثلا :


Dim db As New DataClasses1DataContext
For Each t As Tradod In db.Tradods
If t.Trd_KD = 4 Then
t.Krb_kd = 10
End If
Next
db.SubmitChanges()

در اینجاKrb_kd (کلید کاربر)یک کلید خارجی در جدول (تردد)Trdod هست

k_m
شنبه 22 فروردین 1388, 17:13 عصر
سلام
var query=from t in db.Terms where t.ID == Term.ID select t;
if (query.Count() > 0)
{
var term = query.First();
term.DefaultStudyTypeID = Term.DefaultStudyTypeID;
term.Description = Term.Description;
term.EndDate = Term.EndDate;
term.Gender = (byte)Term.Gender;
//term.ElementAt(0).InstituteID = Term.InstituteID;
term.Name = Term.Name;
term.Shift = (byte)Term.Shift;
term.StandardID = Term.StandardID;
term.StartDate = Term.StartDate;
term.TeacherName1 = Term.TeacherName1;
term.TeacherName2 = Term.TeacherName2;
term.TermProgram = Term.TermProgram;
db.SubmitChanges();
return true;
}
return false;
کد استاندارد رو که می خوام مقدار بدم خطا می ده .از نظر من اصلا منطقی نیست ولی خطا می ده !!

backspace
شنبه 22 فروردین 1388, 18:35 عصر
سلام
اول اون ابجكت رو از جدول حذف كن و يه آبجكت جديد با مقدار جديد به جدول اضافه كن. بين اين 2 كار هم SubmittChange كن
ُ

k_m
دوشنبه 24 فروردین 1388, 18:29 عصر
سلام حل شد .
به جای اینکه standardId رو مقدار بدم خود استاندارد رو مقدار دادم . (با استفاده از یک Query دیگه ).
فکر کنم object استاندارد linq پر نمیشه .
الان حل شد
مرسی