Замены некоторых классов или методов BLToolkit, отсутствующих в LinqToDB. ⇐ C#
Замены некоторых классов или методов BLToolkit, отсутствующих в LinqToDB.
Я перехожу с BLToolkit на LinqToDB. И мне не удалось найти замену некоторым классам или методам, отсутствующим в LinqToDB.
[*]IDataContext.Delete() и IDataContext.InsertOrReplace() больше не могут принимать IEnumerable. Является ли перебор коллекции сущностей и использование db.InsertOrReplace(inputEntities) единственным вариантом? Разве это не показатель производительности? [*]В нашем классе, производном от MappingSchema, в некоторых случаях вместо наших пользовательских преобразований мы использовали base.ConvertChangeType(). Теперь его нет. Что можно использовать вместо него? [*]Мы использовали dbManager.SetCommand(command, params).Prepare() — подготовка сейчас отсутствует. Как подготовить команду к выполнению? [*]IObjectFactory.CreateInstance больше не имеет аргумента InitContext context. Как получить context.MappingSchema, context.DataSource и context.SourceObject сейчас? [*]В BLToolkit мы использовали SqlQueryInfo для изменения имен параметров в запросе следующим образом:
public static void SetCommand([NotNull] this DbManager dbManager, сущность TEntity, строка actionName) { вар queryInfo = новый SqlQuery(dbManager).GetSqlQueryInfo(dbManager, typeof(TEntity), actionName); вар queryText = queryInfo.QueryText; параметры var = queryInfo.GetParameters(dbManager,entity); for (var я = 0; я
Я перехожу с BLToolkit на LinqToDB. И мне не удалось найти замену некоторым классам или методам, отсутствующим в LinqToDB.
[*]IDataContext.Delete() и IDataContext.InsertOrReplace() больше не могут принимать IEnumerable. Является ли перебор коллекции сущностей и использование db.InsertOrReplace(inputEntities) единственным вариантом? Разве это не показатель производительности? [*]В нашем классе, производном от MappingSchema, в некоторых случаях вместо наших пользовательских преобразований мы использовали base.ConvertChangeType(). Теперь его нет. Что можно использовать вместо него? [*]Мы использовали dbManager.SetCommand(command, params).Prepare() — подготовка сейчас отсутствует. Как подготовить команду к выполнению? [*]IObjectFactory.CreateInstance больше не имеет аргумента InitContext context. Как получить context.MappingSchema, context.DataSource и context.SourceObject сейчас? [*]В BLToolkit мы использовали SqlQueryInfo для изменения имен параметров в запросе следующим образом:
public static void SetCommand([NotNull] this DbManager dbManager, сущность TEntity, строка actionName) { вар queryInfo = новый SqlQuery(dbManager).GetSqlQueryInfo(dbManager, typeof(TEntity), actionName); вар queryText = queryInfo.QueryText; параметры var = queryInfo.GetParameters(dbManager,entity); for (var я = 0; я
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение