2011-09-15 3 views

답변

2

Dapper은이 상자를 그대로 지원합니다.

public bool Equals(Identity other) 
{ 
    return 
     other != null && 
     gridIndex == other.gridIndex && 
     type == other.type && 
     sql == other.sql && 
     commandType == other.commandType && 
     connectionString == other.connectionString && 
     parametersType == other.parametersType; 
} 

ID 캐시는 연결 문자열을 ID의 일부로 사용합니다. 모든 쿼리에 대해 우수한 성능을 얻음으로써 materializer 및 param 추출기가 캐시되지만 캐싱은 db별로 수행됩니다. 캐시는 db 스키마 변경에도 복원력이 있습니다.

Dapper는 POCO 및/또는 다이내믹과 함께 작동하므로 선택할 수 있습니다. Dapper.Contrib에는 UPDATE, INSERT 등의 간단한 도우미가 포함되어 있습니다.

여기서주의해야 할 점은 엔티티가 생성되지 않는다는 것입니다. 자신의 코드가 필요합니다.

은 기본 예제를 제공하려면 : 기원은 연결이

DbConnection db1 = ... 
DbConnection db2 = ... 

var dataFrom1 = db1.Query<Order>(sql, args); 
var dataFrom2 = db2.Query<Order>(sql, args); 

때문에이 자동으로 데이터베이스 중심 (주의는 다른 열 주문 등 데이터베이스 사이에 잘 ​​대처할 것)입니다. 또는

는 다른 방법을 넣어 : StackExchange 우리가 많은 같은 AppDomain 내부 데이터베이스의 이야기 의미, 멀티 테넌시 (multi-tenancy)입니다. StackExchange는 dapper를 사용하고 dapper는이 시나리오를 처리 할 수 ​​있도록 완전히 설계되었습니다.


Disclamer I '는 단정 한 프로젝트에 기여, 나는이

+0

는 여러 다른 DBMS를 지원합니까 지원하는 많은 다른 마이크로으로 ORMs 상상입니까? Oracle과 SQL Server를 동시에 연결하려고합니다. –

관련 문제