Laden...

Generischer Konstruktor für Entities

Erstellt von ph0e vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.065 Views
P
ph0e Themenstarter:in
43 Beiträge seit 2006
vor 13 Jahren
Generischer Konstruktor für Entities

Hallo zusammen,

ich mache momentan z.B. folgendes:

	public tLieferant GetLieferant(int id)  
	{  
		return DbAccess.tLieferant.Where(p => p.id == id).FirstOrDefault();  
	}  

Das mache ich momentan schon für einige Tabelle, dass ich mit der Id (Pk) die Instanz davon bekomme.

Gibt es hier schon etwas Vorgefertigtes oder ist es möglich irgendwie einen generischen Konstruktor (<T>) auf die automatisch erstelle DbAccess (von ADO .NET EF erstellt, Schnittstelle zur Db) für die Tabellen aufzusetzen?

Habe bei der Suche nix gefunden, vielleicht habe aber auch nur falsch gesucht.

Vielen Dank schon mal.

ph0e

I
279 Beiträge seit 2008
vor 13 Jahren

Hi,

wenn du mit deinem "DbAccess" den ObjectContext meinst den das EF erzeugt kannst du
anstatt direkt auf das Property des Entitysets zu gehen auch CreateObjectSet<TEntityType>() jedesmal aufrufne und deine queries auf diesem ausführen.


public TEntity GetEntity<TEntity>(int id)
where TEntity : IEntityWithId
{
return DbAccess.CreateObjectSet<TEntity>.Where(p => p.id == id).FirstOrDefault();
}

vorrausgesetzt alle entitäten implementieren ein interface wie


interface IEntityWithId
{
 int id { get; set;}
}

P
ph0e Themenstarter:in
43 Beiträge seit 2006
vor 13 Jahren

Dank dir für deine Antwort, ich werde das dann mal probieren:)