如何在.NET中使用Dapper處理數據庫連接?

.net c# dapper

我一直在玩Dapper,但我不確定處理數據庫連接的最佳方法。

大多數示例顯示在示例類中創建的連接對象,甚至在每個方法中。但是我覺得在每個clss中引用連接字符串都是錯誤的,即使它是從web.config中提取的。

我的經驗是使用DbDataContextDbContext與Linq to SQL或Entity Framework,所以這對我來說是新的。

使用Dapper作為我的數據訪問策略時,如何構建我的Web應用程序?

熱門答案

我創建了一個擴展方法,其中包含一個從配置中檢索連接字符串的屬性。這使得調用者不必知道關於連接的任何信息,無論是打開還是關閉等等。這個方法確實限制了你,因為你隱藏了一些Dapper功能,但是在我們相當簡單的應用程序中,它對我們來說很好。如果我們需要來自Dapper的更多功能,我們總是可以添加一個新的擴展方法來公開它。

internal static string ConnectionString = new Configuration().ConnectionString;

    internal static IEnumerable<T> Query<T>(string sql, object param = null)
    {
        using (SqlConnection conn = new SqlConnection(ConnectionString))
        {
            conn.Open();
            return conn.Query<T>(sql, param);
        }
    }

    internal static int Execute(string sql, object param = null)
    {
        using (SqlConnection conn = new SqlConnection(ConnectionString))
        {
            conn.Open();
            return conn.Execute(sql, param);
        }
    }


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因