J'ai une classe ECMContext qui hérite de DbContext. Dans ECMContext il y a une propriété MlaArticles
qui est DbSet<MlaArticle>
où MlaArticle
est héritée de WebObject
. J'ai créé une méthode générique qui accepte un argument de type WebObject. La méthode essaie d'enregistrer les modifications apportées à la base de données et, dans le cas contraire, annule les modifications.C# Type Inférence
Ma question - puisque je l'ai déjà db (qui était déjà instanciée) et je sais que le type de WebObject
qui est passé (MlaArticle
dans cet exemple), est-il un moyen de se référer à la collection DbSet db.MlaArticles
sans passer une argument supplémentaire? Je sais que cela est faux, mais ce exemplifie ma question ...
protected ECMContext db;
void SaveChanges<T>(T obj) where T : WebObject
{
try { db.SaveChanges(); }
catch
{
db.MlaArticles.Remove(obj); //this is the original code
db.DbSet<T>.Remove(obj); //something like this is what I'd like to do
}
}
Oui, c'est ça. Merci Matthew – bflemi3