C #을 : 어떻게 ORM과 인터페이스를 사용하여

c# dapper

문제

Dapper Micro-ORM을 사용하는 DB 작업에 복잡한 응용 프로그램이 있으므로 느슨하게 결합 된 코드를 만들고 싶습니다. 어떻게 dapper로 클래스 대신 인터페이스를 사용할 수 있는지 제안 해주십시오. 다음 코드가 있습니다.

public IEnumerable<Category> Find()
    {
        using (IDbConnection _conn = GetConnection)
        {
            _conn.Open();
            return _conn.Query<Category>("usp_Category", commandType: CommandType.StoredProcedure);
        }
    }

나는

public IEnumerable<ICategory> Find()
    {
        using (IDbConnection _conn = GetConnection)
        {
            _conn.Open();
            return _conn.Query<ICategory>("usp_Category", commandType: CommandType.StoredProcedure);
        }
    }

인기 답변

DapperC# 으로 수행하려는 작업이 올바르지 않습니다.

_conn.Query<ICategory>("usp_Category", commandType: CommandType.StoredProcedure);

IEnumerable<ICategory> 를 가져 ICategoryinterface 이고 예상대로 채울 수 없으므로 최대한 많이 얻을 수 있습니다 : IEnumerable<Category> . 구체적인 클래스와 같이 ICategory interface 초기화 할 수는 없지만 불가능합니다.

ICategory ic = new ICategory();

IEnumerable<ICategory> 는 올바른 사용법은 아니며 interfaceconcrete 클래스 및 사용법의 차이점을 이해해야한다는 것을 이해하기 위해 어떤 방법 으로든 가져올 수 없습니다



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow