[英]Unable to connect to Oracle Db in aspnet core webapi
我使用 webapi 模板創建了一個帶有 dotnet 核心的項目。 我正在嘗試使用 Citms.EntityFrameworkCore.Oracle 包將我的 API 與 Oracle 數據庫連接,因為官方包不是免費的。 但是每次啟動API時,都會出現以下錯誤
context.Set<TEntity>();
GenericRepository.cs
public GenericRepository(ApplicationDbContext context)
{
this.Context = context;
this.DbSet = context.Set<TEntity>();
}
錯誤:
System.MissingMethodException: 'Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory..ctor(Microsoft.EntityFrameworkCore.Diagnostics.IDiagnosticsLogger`1<Command>,
啟動文件
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddDbContext<ApplicationDbContext>(options =>
{
//options.UseMySql(Configuration.GetConnectionString("DefaultConnection"));
options.UseOracle(@"DATA SOURCE = <CONNECTION_STRING>");
});
services.AddSwagger();
//services.AddScoped<IValuesRepository, ValuesRepository>();
services.AddScoped<IValueService, ValueService>();
var corsBuilder = new CorsPolicyBuilder();
corsBuilder.AllowAnyHeader();
corsBuilder.AllowAnyMethod();
corsBuilder.AllowAnyOrigin();
corsBuilder.AllowCredentials();
services.AddCors(options =>
{
options.AddPolicy("SiteCorsPolicy", corsBuilder.Build());
});
}
這是您使用的包中的一個錯誤,它使用已修改的內部實體框架代碼,現在它不再正常工作。
請參閱 Pomelo.EntityFrameworkCore.MySql 包的類似問題,其中 EF 開發人員回應:
@AdamDotNet 感謝您報告此事。 這是因為 MySQL 提供程序正在使用 EF Core 內部代碼——我為此提交了這個問題:PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#497
從 EF 方面,我們將在分類中討論是否將此更改還原為內部代碼,但長期解決方案是提供商停止使用內部代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.