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)
Load`[T]`(T item, Expression
1expression)
db.Document..ctor(Expression``1
Expressão) em C: @Projects DocumentsSearchAndadMin DocumentsSearchAndadMin Generated ActiveRecord.cs: Linha 5613
REST REMOVADO PARA SIMPLICIÇÃO

Cumprimentos
Dennis

Foi útil?

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");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top