Ich habe einen Tabellenbenutzer mit einer Identitätsspalte. UserID
Was ist nun die richtige Codezeile für Linq to Entity, die mir das Maximum zurückgibt UserID
?
Ich habe es versucht:
using (MyDBEntities db = new MyDBEntities())
{
var User = db.Users.Last();
// or
var User = db.Users.Max();
return user.UserID;
}
aber Last
und Max
scheinen nicht unterstützt zu werden.
Irgendwelche Ideen?
c#
linq
entity-framework
linq-to-entities
Strahl
quelle
quelle
Versuche dies
int intIdt = db.Users.Max(u => u.UserId);
Aktualisieren:
Wenn kein Datensatz vorhanden ist, generieren Sie dies mit dem obigen Code
int? intIdt = db.Users.Max(u => (int?)u.UserId);
quelle
var max = db.Users.DefaultIfEmpty().Max(r => r == null ? 0 : r.ModelID);
Wenn in db keine Datensätze vorhanden sind, wird ausnahmslos 0 zurückgegeben.
quelle
NisaPrieto
Users user = bd.Users.Where(u=> u.UserAge > 21).Max(u => u.UserID);
funktioniert nicht, da MAX denselben Variablentyp zurückgibt wie das Feld. In diesem Fall handelt es sich also um ein INT und nicht um ein Benutzerobjekt.
quelle
Wenn Sie die Funktion
async
und verwendenawait
, lautet diese wie folgt:User currentUser = await db.Users.OrderByDescending(u => u.UserId).FirstOrDefaultAsync();
quelle
Der beste Weg, um die ID der von Ihnen hinzugefügten Entität zu erhalten, ist folgender:
public int InsertEntity(Entity factor) { Db.Entities.Add(factor); Db.SaveChanges(); var id = factor.id; return id; }
quelle