Dies kann einfach mit dieser Linq-Abfrage erfolgen:
Code: Select all
var value = await context.Table
.Where(r => r.Id == recordId)
.Select(r => r.Field)
.SingleOrDefaultAsync();
Wenn das Feld also einen Wert hat, erhält man diesen Wert. Aber wenn die Spalte „null“ ist, erhalten Sie auch „null“.
Und hier tritt mein Problem ins Spiel: Ich möchte zwischen der Situation unterscheiden, in der der Spaltenwert „null“ ist, und der Situation, in der die Zeile nicht existiert (Fehler).
Sie können dies versuchen
Code: Select all
try
{
var value = await context.Table
.Where(r => r.Id == recordId)
.Select(r => r.Field)
.SingleAsync();
}
catch
{
throw new NotFoundException("");
}
Und zweitens: Auf diese Weise können wir nicht zwischen nicht vorhandenen Zeilen und der Situation unterscheiden, in der wir möglicherweise mehrere Zeilen haben (bei Verwendung verschiedener Where-Klauseln).
Mobile version