Wie erstelle Generic Data Access Object (DAO) CRUD-Methoden mit LINQ to SQL
Ich bin neu in LINQ to SQL und dem Versuch, erstellen Sie eine generic Data Access Object (DAO) für die basic-Create, Read, Update und Destroy (CRUD) - Methoden, so dass ich den code wiederverwenden. Ich war erfolgreich bei der Schaffung einer generischen Methode löscht eine Entität mit dem code unten, aber ich Frage mich, ob jemand weiß, wie man erstellen Sie eine generische Methode, die wählen jede Person, die durch eine gemeinsame Id-Feld, das sich auf alle Tabellen.
///<summary>
///Generic method that deletes an entity of any type using LINQ
///</summary>
///<param name="entity"></param>
///<returns>bool indicating whether or not operation was successful</returns>
public bool deleteEntity(Object entity)
{
try
{
DomainClassesDataContext db = new DomainClassesDataContext();
db.GetTable(entity.GetType()).Attach(entity);
db.GetTable(entity.GetType()).DeleteOnSubmit(entity);
db.SubmitChanges();
return true;
}
catch(Exception ex)
{
Console.WriteLine(ex.StackTrace);
return false;
}
}
Ich bin mir ziemlich sicher, dass die gleichen Muster funktioniert für update-und insert und möchte eine generische Methode auf dem GenericDAO, die rufen mich jede Entität (z.B. Kunde, Rechnung, WorkOrder, etc...) auf der Grundlage der Einheiten-Id. Vielen Dank im Voraus für die Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sind auf der Suche für Repository-Muster, das folgende ist eine einfache Implementierung von it:
Zuerst müssen Sie erstellen eine Schnittstelle
IRepository
wie diese:Dann:
Dann :
Dann kannst du etwas wie:
Wo
Customer
ist eine Entität zugeordnet, der für Ihre Datenbank definiert ist, die.dbml
. Dies ist nur ein Anfang, finden Sie im folgenden weitere details: