.NET에서 Dapper로 데이터베이스 연결을 처리하는 방법은 무엇입니까?

.net c# dapper

문제

나는 Dapper와 놀았지만 데이터베이스 연결을 처리하는 가장 좋은 방법은 확실치 않습니다.

대부분의 예제는 예제 클래스 또는 각 메소드에서 만들어진 연결 객체를 보여줍니다. 하지만 web.config에서 가져 오는 경우에도 모든 clss에서 연결 문자열을 참조하는 것은 잘못되었습니다.

내 경험은 Linq to SQL 또는 Entity Framework와 함께 DbDataContext 또는 DbContext 를 사용하여 DbDataContext . 그래서 이것은 저에게 새로운 것입니다.

데이터 액세스 전략으로 Dapper를 사용할 때 웹 앱을 어떻게 구성합니까?

인기 답변

구성에서 연결 문자열을 검색하는 속성을 사용하여 확장 메서드를 만들었습니다. 이렇게하면 호출자는 연결 여부에 관계없이 열려 있거나 닫혀 있는지 여부를 알 수 있습니다.이 메서드는 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는 합법적입니까? 예, 이유를 알아보십시오.