in meinem DAL mit Dapper ich viele sich wiederholende Code haben:Wie abstrakt (mit Func?) Teil der Funktion
using (var sqlConn = new NpgsqlConnection("..."))
{
sqlConn.Open();
// query
}
Herauszufinden, wie abstrakte Anfragen an die Rückkehr nichts war einfach:
private void OpenConn(Action<NpgsqlConnection> action)
{
using (var sqlConn = new NpgsqlConnection("...")
{
sqlConn.Open();
action.Invoke(sqlConn);
}
}
Und Sie nennen es einfach so:
OpenConn(x => x.Execute("INSERT INTO ..."));
Aber ich habe keine Ahnung, wie OpenConn Funktion neu zu schreiben, so dass Sie RETU könnte rn Ergebnisse von ihm, in einer anderen Funktion, dh int zurück:
public int Example() {
return OpenConn<int>(x => x.Query<int>("...").First());
}
oder
public int Example() {
OpenConn<int>(x => return x.Query<int>("...").First());
}
?
Dank! dieselbe Antwort wie Steve, aber mit Generika, also als akzeptiert. – Lars