나는 현재 다음을 수행하고 단정 한 ORM을 사용하여 저장소 패턴을 구현하는 경우 :차이
private readonly ConnectionStrings _connectionStrings;
private IDbConnection _db;
public CustomerRepository(IOptions<ConnectionStrings> connectionStrings)
{
_connectionStrings = connectionStrings.Value;
_db = new SqlConnection(_connectionStrings.DefaultConnection);
}
public Customer Find(int id)
{
return this._db.Query<Customer>("SELECT * FROM Contacts WHERE Id = @Id", new { id }).SingleOrDefault();
}
수있는 사람하시기 바랍니다 이 방법으로해야하는지 또는 모든 단일 저장소 함수에서 새 SqlConnection을 사용하여 using 문을 사용해야하는지 알려주십시오.
나는 위의 코드가 UnitOfWork와 같은 것이 필요할 것이라고 가정하고 있습니다. 또한 필요한 모든 저장소 기능을 실행 한 후 연결을 끊는 방법도 있습니다.
모든 메소드에서'using' 문을 사용하십시오. 연결이나 ADO.NET 객체를 전혀 재사용하지 마십시오. [관련] (http://stackoverflow.com/questions/9705637/executereader-requires-an-open-and-available-connection-the-connections-curren/9707060#9707060) –
'using' 문을 사용하십시오. – stuartd
고마워요.하지만 컨텍스트가 종속성 주입을 통해 전달 된 다음 EF를 사용할 때와 같은 몇 가지 예제를 본 이유를 설명 할 수 있습니까? 또한 여러 using 문을 사용하여 UnitOfWork를 구현할 수 있습니까? 나는 다음과 같은 접근법을 사용하려고 생각하고있다 : https://github.com/timschreiber/DapperUnitOfWork –