Я пытаюсь подключить мое основное приложение mvc к существующей базе данных ms access, примерно следуя этому руководству , но я получаю эту ошибку при запуске:
TypeLoadException: Couldне загружать тип 'Microsoft.EntityFrameworkCore.Metadata.Internal.IEntityMaterializer' из сборки 'Microsoft.EntityFrameworkCore, версия = 2.1.3.0, культура = нейтральная, PublicKeyToken = adb9793829ddae60'.
Я бы очень признателен любомуруководство, так как я немного растерялся, и, кажется, об этом
* 1010 не так много информации. Сейчас приложение очень простое и выглядит так:
База данных
public class Database : DbContext
{
public Database()
{
}
public Database(DbContextOptions<Database> options)
: base(options)
{
}
public virtual DbSet<subQCItems> subQCItems { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
// warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
// Provider=Microsoft.ACE.OLEDB.12.0;Data Source=W:\IT\Test\company.mdb
optionsBuilder.UseJet(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=W:\IT\Test\company Backoffice.mdb");
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<subQCItems>(entity =>{
entity.Property(e => e.Index).IsRequired();
entity.Property(e => e.GRV).IsRequired();
});
}
}
subQCItems
public class subQCItems
{
[Key]
public int Index { get; set; }
public int GRV { get; set; }
}
Запуск
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
var connection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=W:\IT\Test\company Backoffice.mdb";
services.AddDbContext<Database>(options => options.UseJet(connection));
}
csproj
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="EntityFrameworkCore.Jet" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>