Question

Je reçois une erreur en essayant de charger un enregistrement par le constructeur.

Le constructeur est:

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

et je tente de charger un seul élément dans comme celui-ci

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

publicationnumber est pas une clé mais essayé de faire un il une clé unique et toujours pas de go ..

Suis-je tout à fait tort en ce qui concerne l'utilisation du constructeur? et quelqu'un peut-il s'il vous plaît me dire comment utiliser ce constructeur?

L'erreur que je reçois est:
Méthode d'essai TestProject1.UnitTest1.ParseFileNameTwoProductSingleLanguage a jeté exception: System.NullReferenceException:

avec le stacktrace suivant:

  

SubSonic.Query.SqlQuery.Where[T] (expression Expression1` expression)
Load`[T]`(T item, Expression
1expression)
db.Document..ctor(Expression``1
) dans C: \ @ Projets \ DocumentsSearchAndAdmin \ DocumentsSearchAndAdmin \ generated \ ActiveRecord.cs: ligne 5613
  repos enlevé pour la simplicité

Cordialement
Dennis

Était-ce utile?

La solution 2

Je viens de recevoir la source subsonique, et a découvert qu'il fallait avec l'analyseur d'expression et mon manque de connaissance de celui-ci .. mon côté droit de l'expression était en fait un élément dans un tableau de chaînes - et s [PUBNO ] (PUBNO est un const) et il cherchait une colonne nommée s au lieu de publicationnumber, je ne sais pas si ce bug ia ou non dans les classes LINQ

pas moins - j'ai réussi à le faire fonctionner en créant une variable locale contenant la valeur de s [PUBNO] et utiliser cette place ...

// dennis

Autres conseils

Utiliser == au lieu de =, i.e.:.

...(f=>f.publicationnumber == "xxx");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top