Usando o construtor para carregar dados no subsônico3?
-
23-09-2019 - |
Pergunta
Estou recebendo um erro ao tentar carregar um registro através do construtor.
O construtor é:
public Document(Expression<Func<Document,bool>> expression);
E eu tento carregar um único item assim
var x = new Document(f=>f.publicationnumber=="xxx");
PublicationNumber não é uma chave, mas tentei fazer uma chave única e ainda não vá.
Estou totalmente errado em relação ao uso do construtor? E alguém pode me dizer como usar esse construtor?
O erro que estou recebendo é:
Método de teste TestProject1.unittest1.parsefilenametwoproductsingleLanguage Jogo Exceção: System.NullReferenceException:
Com o seguinte Stacktrace:
Subsonic.Query.SQLQuery.where
[T]
(Expressão1` expression)
1
Load`[T]`(T item, Expressionexpression)
Expressão) em C: @Projects DocumentsSearchAndadMin DocumentsSearchAndadMin Generated ActiveRecord.cs: Linha 5613
db.Document..ctor(Expression``1
REST REMOVADO PARA SIMPLICIÇÃO
Cumprimentos
Dennis
Solução 2
Acabei de obter a fonte subsônica e descobri que ela tinha que com o analisador de expressão e minha falta de conhecimento. Meu lado direito da expressão era na verdade um item em uma matriz de cordas - e S [Pubno] (Pubno é uma const) e estava procurando uma coluna chamada s em vez de publicação number, não sei se isso é um bug ou não nas classes Linq
No entanto, eu consegui fazer funcionar criando uma variável local contendo o valor de S [Pubno] e usando isso ...
// Dennis
Outras dicas
Usar ==
ao invés de =
, ou seja:
...(f=>f.publicationnumber == "xxx");