Zählen Sie die Anzahl der Produkte für jedes Unternehmen
Posted: 21 Dec 2024, 12:42
Ich verwende ASP.NET MVC, um ERP zu erstellen, und ich bin ein bisschen neu in MVC. Ich versuche herauszufinden, wie ich die Count-Methode für jede Zeile in der Tabelle erstellen kann (ich muss anhand der Datenbank zählen, wie viele Produkte jedes Unternehmen hat).
@Html.DisplayFor(modelItem => item.CountBusinessOffers(item.bId))
Und die Zählmethode
public int CountBusinessOffers(int id)
{
DbHelper.ConnectRemoteDB();
DbHelper.products_collection = DbHelper.Database.GetCollection("products");
var filter_byId = Builders.Filter.Eq("bId", id);
var filter_byDate = Builders.Filter.Eq("isActive", true);
var filter_byActive = Builders.Filter.Gte("limitDate", DateTime.Now);
var filter = filter_byId & filter_byActive & filter_byDate;
var document = DbHelper.products_collection.Find(filter).Count();
int numberOfItems = Convert.ToInt32(document);
return numberOfItems;
}
Aber ich erhalte eine Fehlermeldung:
System.InvalidOperationException: 'Vorlagen können nur mit Feldzugriff, Eigenschaft verwendet werden Zugriff, eindimensionaler Array-Index oder benutzerdefinierte Indexerausdrücke mit einem Parameter.'
@Html.DisplayFor(modelItem => item.CountBusinessOffers(item.bId))
Und die Zählmethode
public int CountBusinessOffers(int id)
{
DbHelper.ConnectRemoteDB();
DbHelper.products_collection = DbHelper.Database.GetCollection("products");
var filter_byId = Builders.Filter.Eq("bId", id);
var filter_byDate = Builders.Filter.Eq("isActive", true);
var filter_byActive = Builders.Filter.Gte("limitDate", DateTime.Now);
var filter = filter_byId & filter_byActive & filter_byDate;
var document = DbHelper.products_collection.Find(filter).Count();
int numberOfItems = Convert.ToInt32(document);
return numberOfItems;
}
Aber ich erhalte eine Fehlermeldung:
System.InvalidOperationException: 'Vorlagen können nur mit Feldzugriff, Eigenschaft verwendet werden Zugriff, eindimensionaler Array-Index oder benutzerdefinierte Indexerausdrücke mit einem Parameter.'