Hallo zusammen,
ich bin relativ neu in der ASP.NET Web-Erstellung und habe die folgende Frage.
Ich habe mehrere Controller und binde dort immer wiederkehrende abfragen ein, meine Frage dazu.
Ist es möglich die wiederkehrenden Abfragen in eine externe Klasse einzubinden um dies dann aus dem Kontroller aufzurufen.
Ein jetziges Beisiel:
public ActionResult Kontakt()
{
dynamic Model = new ExpandoObject();
Model.Link = GetLink();
Model.Tags = GetTags();
return View(Model);
}
Dieser Part sollte dann in eine externe Klasse, da die Abfragen in mehreren Kontrollern benötigt werden.
private static List<Link> GetLink()
{
List<Link> _Link = new List<Link>();
.... (Datenbankabfrage)....
}
private static List<Tags> GetTags()
{
List<Tags> _Tags = new List<Tags>();
.... (Datenbankabfrage)....
}
Ist das überhaupt möglich?
Wenn ja, wie kann ich das dann im Kontroller aufrufen?
Für eine Info wäre ich sehr dankbar.
LG Jörg
Hi,
hm - da fehlt es scheinbar an mehr als ASP.NET-Wissen.
Grundlegend solltest du versuchen:
a) Eine 3-Schichten-Architektur aufzubauen, siehe [Artikel] Drei-Schichten-Architektur
b) Ich hoffe deine Datenbankschnittstelle sieht nicht wirklich so aus wie gezeigt, falls dem doch der Fall ist solltest du dir dringend folgende Sachen anschauen:
Mal als Beispiel wie sowas grob aussehen kann ein Projekt von Abt, wo man sich einiges abschauen kann ohne dass es all zu unübersichtlich wird:
IdentityServer4 Plattform Beispiel basierend auf .NET Core und ASP.NET Core
LG und Viel Erfolg
Zu den Punkten von Taipi88 kommt noch hinzu, dass dynamic hier nicht für Web Entwicklung als Datentyp gedacht ist.
Dies solltest du vergessen und durch var oder den expliziten Typen ersetzt.
dynamic ist primär für die Arbeit mit COM Objekten gedacht und sollte entsprechend auch nur dort verwendet werden!
Link:
https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/dynamic
https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/var
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Ich danke Euch,
na da habe ich noch einiges umzusetzen.
Danke für Eure schnelle Hilfe.
LG Jörg
Zu den Punkten von Taipi88 kommt noch hinzu, dass dynamic hier nicht für Web Entwicklung als Datentyp gedacht ist.
Na das stimmt so nicht.. steht sogar in dem Link, den Du selbst gepostet hast. 😃
dynamic hat schon seine Berechtigung in der Web-Welt (und auch in anderen Bereichen neben COM); in diesem Fall nur wahrlich nicht.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code