في datacontext يتم إدراج القيم غير متوفرة داخل datacontext حتى بعد submitchanges؟

StackOverflow https://stackoverflow.com/questions/658578

سؤال

وانا ذاهب من خلال ملف XML من المقالات والصحفي (ق) التي كتب بها. كما أننا نقوم بإضافة هذه المواد فتصبح _Data datacontext لدينا ونحن قد تأتي عبر الصحفي الذي يحتاج إضافة لذلك نفعل ذلك:

newJourno = New journalist With {.name = strJournalist}
_Data.journalists.InsertOnSubmit(newJourno)
.articles_journalists.Add(New articles_journalist With {.id_journalist = newJourno.id,         .id_article = .id})

ولكن بعد ذلك نحن قد تأتي عبر هذا نفس الصحفي مرة أخرى ويتم إرجاع أي شيء عندما نفعل هذا:

Dim journo = _Data.journalists.Where(Function(s) s.name = strJournalist).SingleOrDefault

وهكذا فإنه يستخدم رمز أعلاه مرة أخرى لادخال نفس الصحفي مرة أخرى.

وعندما تتم جميع من يدخل لدينا ونحن نفعل submitchanges. في هذه المرحلة كان لديه نوبة الرأس:

وبيان INSERT يتعارض مع "FK_articles_journalists_journalists" عمود المفتاح الأجنبي القيد. حدث التعارض في "بلاه" قاعدة البيانات، الجدول 'الصحفيين'، العمود 'الهوية'. تم إنهاء العبارة.

ومن النظر من خلال SQL التي تم إنشاؤها في مزود التعريف ترون أنها تحاول إضافة بعض الصحفيين أكثر من مرة واحدة، هذا ستفشل كما يجب أن يكون الاسم واضح. السجلات اللاحقة التي تحاول ستدرج لاحقا مع هؤلاء الصحفيين تفشل كما لم يتم تحديث الصحفي.

وبالتأكيد إذا كان لدي مجموعة من الصحفيين، وإضافة بعض لذلك وبعد ذلك ننظر في مجموعتي أود أن أرى كل منهم، وليس فقط تلك الأصلية. أستطيع أن يتلاعب أنه اعتقد عن طريق القيام submitchanges ولكن هذا يبدو سخيفا بعض الشيء.

ويرجع الفضل في ذلك مسبقا،

وديف.

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في إضافة صفين الطفل الأم إلى قاعدة البيانات، يجب تعيين الكيان، بدلا من العمود رقم، سيتم تم تكوينها على رقم وسوف تكون متاحة إلا بعد التغييرات تقديم.

ما عليك القيام به كائن articles_journalist، ومن ثم تعيين كيان newJourno لهذه:

articles_journalist.journalist = newJourno;

نصائح أخرى

وCMS على حق حول الحاجة إلى تعيين كائن، وليس الهوية.

ولكن هذا لا يبدو للحصول على حل المشكلة من datacontext لا يدركون أن كان لها بإضافة أشياء جديدة لأنه حتى submitchanges. أستطيع أن أفترض فقط هذا حسب التصميم وsubmitchanges لذا أدعو الآن، وعندما يدخل رمز الكائنات التي نحن في وقت لاحق البحث عنها.

و"يجب أن يكون الاسم واضح."

وهذا هو عيب تصميم جدي. أسماء الشخص أبدا فريدة من نوعها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top