سؤال

أحصل على خطأ أثناء محاولة تحميل سجل من خلال المنشئ.

المنشئ هو:

public Document(Expression<Func<Document,bool>> expression);

وأحاول تحميل عنصر واحد في مثل هذا

var x = new Document(f=>f.publicationnumber=="xxx");

PublicationNumber ليس مفتاحًا ولكنه حاول جعل مفتاحًا فريدًا ولا يزال لا يذهب ..

هل أنا مخطئ تمامًا فيما يتعلق باستخدام المنشئ؟ وهل يمكن لأحد أن يخبرني كيف أستخدم هذا المنشئ؟

الخطأ الذي أحصل عليه هو:
طريقة الاختبار testproject1.unittest1.parsefilenametwoproductsingLelanguage Throw Throw: System.NullerferenceException:

مع stacktrace التالية:

subonic.query.sqlquery.here[T](تعبير1` expression)
Load`[T]`(T item, Expression
1expression)
db.Document..ctor(Expression``1
التعبير) في C: @Projects documentssearchandadmin documentssearchandadmin reguder activereCord.cs: الخط 5613
راحة إزالة من أجل البساطة

يعتبر
دينيس

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

المحلول 2

لقد حصلت للتو على المصدر الفرعي ، واكتشفت أنه كان عليه أن يكون ذلك مع محلل التعبير وافتقاري إلى معرفة ذلك .. كان جانبي الأيمن من التعبير عنصرًا في صفيف السلسلة - و S [Pubno] (Pubno] هو const) وكان يبحث عن عمود اسمه S بدلاً من PublicationNumber ، لا أعرف ما إذا كان هذا الخطأ IA أم لا في فئات LINQ

ومع ذلك - لقد تمكنت من العمل من خلال إنشاء متغير محلي يحتوي على قيمة S [Pubno] واستخدام ذلك بدلاً من ذلك ...

// دينيس

نصائح أخرى

يستخدم == بدلاً من =, ، بمعنى آخر:

...(f=>f.publicationnumber == "xxx");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top