J'ai une classe de référentiel générique dapper, puisque .net core ne supporte pas les transactions distribuées J'ai décidé d'envoyer un objet connexion déjà ouvert à la méthode générique au lieu de l'injecter séparément dans le référentiel.Membre/classe statique pour référentiel générique
public class Repository<T> where T: class
{
protected readonly IComplianceConnection Connection;
public Repository(IComplianceConnection connection)
{
Connection = connection;
}
public IEnumerable<T> Get(string query, object arguments)
{
IList<T> entities;
using (var connection = Connection.OpenConnection())
{
entities = connection.Query<T>(query, arguments, commandType: CommandType.StoredProcedure).ToList();
}
return entities;
}
}
Je dois changer cela en classe statique .below est le nouveau référentiel.
public static class Repository<T> where T: class
{
public static IEnumerable<T> Get(this IDbConnection connection, string query, object arguments)
{
IList<T> entities;
entities = connection.Query<T>(query, arguments, commandType: CommandType.StoredProcedure).ToList();
return entities;
}
}
Cette méthode statique pour le référentiel générique est-elle correcte? ..Pls me suggèrent
1. Je ne pense pas que l'utilisation est "appropriée" peut-être que la connexion est déjà établie ??. 2. Pourquoi vous ne mettez pas cette méthode sur DbContext? – Max
Peut-on fournir un exemple de code – Ljt