Использование конструктора для загрузки данных в subsonic3?

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

Вопрос

Я получаю сообщение об ошибке при попытке загрузить запись через конструктор.

Конструктор:

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

и я пытаюсь загрузить один элемент вот так

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

Номер публикации не является ключом, но я пытался сделать его уникальным ключом, но все равно ничего не получилось.

Я совершенно не прав относительно использования конструктора?и может кто-нибудь сказать мне, как использовать этот конструктор?

Ошибка, которую я получаю:
Метод тестирования TestProject1.UnitTest1.ParseFileNameTwoProductSingleLanguage вызвал исключение:System.NullReferenceException:

со следующей трассировкой стека:

SubSonic.Query.SqlQuery.Where[T](Выражение1` expression)
Load`[T]`(T item, Expression
1expression)
db.Document..ctor(Expression``1
выражение) в C:\@Projects\DocumentsSearchAndAdmin\DocumentsSearchAndAdmin\Generated\ActiveRecord.cs:линия 5613
остальное удалено для простоты

С уважением
Деннис

Это было полезно?

Решение 2

Я только что получил исходный код SubSonic и обнаружил, что это связано с анализатором выражений и моим отсутствием знаний о нем..моя правая часть выражения на самом деле была элементом массива строк - и s[PUBNO] (PUBNO - это константа), и она искала столбец с именем s вместо номера публикации, я не знаю, ошибка это или нет в классах linq

тем не менее - мне удалось заставить его работать, создав локальную переменную, содержащую значение s[PUBNO], и используя ее вместо этого...

//Деннис

Другие советы

Использовать == вместо =, то есть:

...(f=>f.publicationnumber == "xxx");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top