Re: Баг в SqlQuery<T>
От: ili Россия  
Дата: 29.04.09 09:25
Оценка:
Здравствуйте, Wight, Вы писали:

W>Это происходит из-за того, что в SqlQueryBase TypeExtensions иногда берутся из db.MappingSchema, а иногда из локальной схемы. Вот, например:


вообще, то все еще веселее. SqlQueryInfo — кешируются, по вот такому забавному ключу:
string       key   = type.FullName + "$" + actionName + "$" + db.DataProvider.UniqueName + "$" + GetTableName(type);


а поле Extensions — хитрое, если не задано локальное, то берется из маппинг схемы.
а MappingSchema — тоже очень хитрая, если она не задана явно, то берется из DbManager, а если и он не задан, то Map.DefaultSchema
ну в общем, с экстеншенами все очень хитро... нужно либо очень внимательно следить за той, какая сейчас MappingSchema либо грузить все в дефолтную...
а вообще, конечно, все это крайне непрозрачно
надо бы побороться как-нить... тока как правильно все это бороть я
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.