In meiner Anwendung habe ich eine DAL mit einer Repository-Klasse erstellt. Das Repository verwendet einen Satz von EF-Klassen als Datenkontext.So abstrahieren Sie den Entitätsdatenkontext in C#
Ich mag eine Abstraktion schaffen, um Lage zu sein, mehrere Datenkontext mit dem gleichen Repository verwenden. Ich verwende den folgenden Code, den Kontext zu initialisieren (ProductEntities
ist der EF-Kontext):
public class ProductRepository : IProductRepository
{
?type? _productEntitiesContext;
public productRepository()
{
_productEntitiesContext = new ProductEntities();
}
public productRepository(?type? productContext)
{
_productEntitiesContext = productContext;
}
}
Aber ich weiß nicht, welche Art von _productEntitiesContext
(und productContext
). ProductEntities
erbt von ObjectContext
.
Um Abstraktion zu erreichen benutze ich immer Schnittstellen, ich weiß nicht, ob ich ObjectContext
verwenden kann, da es eine Klasse ist.
Jeder weiß, ob mein Ziel erreichbar ist?
Danke. Damit definieren Sie einen generischen Typ T. Ich möchte stattdessen etwas wie eine Schnittstelle definieren, wie IProductRepository, aber für den Kontext. – CiccioMiami