Laden...

LinqToSQL Datensatz suchen

Erstellt von kkirchhoff vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.084 Views
K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 14 Jahren
LinqToSQL Datensatz suchen

Guten Abend,
mit folgender Abfrage suche ich einen Datensatz

_appParamItem = _DB.AppParameters.Single(ap => ap.ParName == _inParamName &&
ap.AnwId == aktAnwenderID);

Wenn ein entsprechender Datensatz gefunden wurde kann ich mit _appParamItem ganz normal weiter arbeiten. Wenn der Datensatz nicht vorhanden ist bekomme ich eine Exception.

Wie kann ich überprüfen ob ein Datensatz gefunden wurde, damit ich, wenn dieser nicht vorhanden ist einen neuen Anlegen kann.

Ich dachte, dass ich prüfen kann ob _appParamItem == null ist. aber soweit komme ich erst gar nicht.

Besten Dank für Eure Hilfe

C
52 Beiträge seit 2010
vor 14 Jahren

Versuchs mal mit SingleOrDefault()
Dann solltest du auch deinen null Check machen dürfen.

2.891 Beiträge seit 2004
vor 14 Jahren

Wenn ein entsprechender Datensatz gefunden wurde kann ich mit _appParamItem ganz normal weiter arbeiten. Wenn der Datensatz nicht vorhanden ist bekomme ich eine Exception.

Genau so, wie es die Doku auch sagt:

Zitat von: IEnumerable.Single(TSource)-Methode
Gibt das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist.

Und außerdem steht da noch

Zitat von: IEnumerable.Single(TSource)-Methode
Hinweis:
Die Single<TSource>)(IEnumerable<TSource>)-Methode löst eine Ausnahme aus, wenn die Eingabesequenz leer ist. Um stattdessen null-Verweis (Nothing in Visual Basic) zurückzugeben, wenn die Eingabesequenz leer ist, verwenden Sie SingleOrDefault.

Ein einziger Blick in die Doku und hättest dein Problem leicht selbst lösen können...

dN!3L