2011-09-15 4 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; 
} 

Кэш идентификации берет строку соединения как часть идентификатора. Это означает, что вы получаете отличную производительность для всех своих запросов, заставляя кэшировать экстрактор материализатора и пара, но кеширование выполняется за-db. Кэш также устойчив к изменениям схемы db.

Dapper работает с POCOs и/или динамикой, вы можете выбрать. Dapper.Contrib содержит несколько помощников, которые могут сделать UPDATE, INSERT и так далее, проще.

Только остерегайтесь здесь, что он не будет генерировать сущности для вас. Для этого вам понадобится ваш собственный код.

Чтобы дать простой пример:

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

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

Поскольку происхождение соединения, это автоматически базы данных, ориентированных (обратите внимание, что он справится отлично с различными порядками столбцов и т.д.) между базами данных.

Или, иначе: StackExchange мульти-аренды, то есть мы говорим с много баз данных внутри одной и той же AppDomain. StackExchange использует dapper, а dapper был полностью разработан для обработки этого сценария.


Юридической информация Я вкладчик на щеголеватом проекте, я думаю, много другого Micro ORMS поддерживает этот

+0

ли поддержку множественную и другую СУБД? Я хочу одновременно подключать Oracle и SQL Server. –

Смежные вопросы