باستخدام مُنشئ لتحميل البيانات في Subonic3؟
-
23-09-2019 - |
سؤال
أحصل على خطأ أثناء محاولة تحميل سجل من خلال المنشئ.
المنشئ هو:
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)
1
Load`[T]`(T item, Expressionexpression)
التعبير) في C: @Projects documentssearchandadmin documentssearchandadmin reguder activereCord.cs: الخط 5613
db.Document..ctor(Expression``1
راحة إزالة من أجل البساطة
يعتبر
دينيس
المحلول 2
لقد حصلت للتو على المصدر الفرعي ، واكتشفت أنه كان عليه أن يكون ذلك مع محلل التعبير وافتقاري إلى معرفة ذلك .. كان جانبي الأيمن من التعبير عنصرًا في صفيف السلسلة - و S [Pubno] (Pubno] هو const) وكان يبحث عن عمود اسمه S بدلاً من PublicationNumber ، لا أعرف ما إذا كان هذا الخطأ IA أم لا في فئات LINQ
ومع ذلك - لقد تمكنت من العمل من خلال إنشاء متغير محلي يحتوي على قيمة S [Pubno] واستخدام ذلك بدلاً من ذلك ...
// دينيس
نصائح أخرى
يستخدم ==
بدلاً من =
, ، بمعنى آخر:
...(f=>f.publicationnumber == "xxx");