Мне нужно выполнить массовую вставку в ASP. NET Boilerplate, и я попытался реализовать EFCore.BulkExtensions после прочтения https://github.com/aspnetboilerplate/aspnetboilerplate/issues/4397.
Я установил последнюю версию EFCore. BulkExtensions из nuget в проект, и я попытался использовать doContext, как показано ниже, чтобы я мог использовать его везде, где требуется.
public class MyQueryExecutor : IMyQueryExecutor, ITransientDependency
{
private readonly IDbContextProvider<ModCoreDbContext> _dbContextProvider;
public MyQueryExecutor(IDbContextProvider<ModCoreDbContext> dbContextProvider)
{
_dbContextProvider = dbContextProvider;
}
public void BulkImport<T>(IList<T> entities) where T : class
{
_dbContextProvider.GetDbContext().BulkInsert(entities);
}
}
public interface IMyQueryExecutor
{
void BulkImport<T>(IList<T> entities) where T : class;
}
Я ссылался на EFCore.BulkExtensions в необходимых проектах, и когда я пытался запустить проект, я я получаю сообщение об ошибке, когда выполнение попадает в следующую строку в Startup.cs
app.UseAbp(); //Initializes ABP framework.
Ошибка:
TypeLoadException: Could not load type 'Microsoft.EntityFrameworkCore.Metadata.Internal.EntityMaterializerSource' from assembly 'Microsoft.EntityFrameworkCore, Version=3.1.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
Фактический Microsoft.EntityFrameworkCore
, который является частью шаблона рамки 2.2.4