El uso de constructor para cargar datos en subsonic3?
-
23-09-2019 - |
Pregunta
Me estoy poniendo un error al intentar cargar un registro a través del constructor.
El constructor es:
public Document(Expression<Func<Document,bool>> expression);
Y trato de cargar un solo elemento en como esto
var x = new Document(f=>f.publicationnumber=="xxx");
publicationnumber no es una clave pero trató de hacer una que es una clave única y sigue sin ir ..
¿Estoy totalmente equivocado con respecto al uso del constructor? y ¿Puede alguien por favor dígame cómo utilizar ese constructor?
El error que estoy recibiendo es:
Método de ensayo TestProject1.UnitTest1.ParseFileNameTwoProductSingleLanguage lanzó excepción: System.NullReferenceException:
con la siguiente StackTrace:
SubSonic.Query.SqlQuery.Where
[T]
(expresión Expression1` expression)
1
Load`[T]`(T item, Expressionexpression)
) en C: \ @ Proyectos \ DocumentsSearchAndAdmin \ DocumentsSearchAndAdmin \ \ generados ActiveRecord.cs: Línea 5613
db.Document..ctor(Expression``1
ten eliminado por simplicidad
Saludos
Dennis
Solución 2
He llegado sólo la fuente subsónico, y descubrió que tenía que con el analizador de expresiones y mi falta de conocimiento de los mismos .. mi lado derecho de la expresión era en realidad un elemento en una matriz de cadenas - y S [PUBNO ] (PUBNO es una const) y fue en busca de una columna llamada s en lugar de publicationnumber, no sé si este error ia o no en las clases de LINQ
sin embargo - Me las he arreglado para conseguir que el trabajo mediante la creación de una variable local que contiene el valor de s [PUBNO] y el uso que en vez ...
// Dennis
Otros consejos
Uso ==
en lugar de =
, es decir:.
...(f=>f.publicationnumber == "xxx");