Ich habe Dapper generische Repository-Klasse, da .net-Core keine verteilte Transaktion unterstützt Ich habe beschlossen, bereits geöffnetes Verbindungsobjekt an generische Methode zu senden statt separat in das Repository zu injizieren.Statischer Member/Klasse für generisches Repository
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;
}
}
Ich muss dies in statische Klasse ändern. Unter ist das neue Repository.
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;
}
}
Ist diese statische Methode für das generische Repository korrekt? ..Pls suggerate me
1. Ich glaube nicht, dass die Verwendung "geeignet" ist, vielleicht ist die Verbindung bereits etabliert? 2. Warum setzen Sie diese Methode nicht auf DbContext? – Max
Können Sie einen Beispielcode bereitstellen – Ljt