c# - options.UseOracle() 在 EF Core 中不可用

标签 c# asp.net-core entity-framework-core oracle.manageddataaccess

将 EF Core 与 Oracle.ManagedDataAccess.Core(2.18.3) 结合使用

尝试添加数据库上下文时无法调用“options.UseOracle”方法。

编译器抛出错误:“DbContextOptionsBuilder”不包含“UseOracle”的定义,并且找不到接受类型为“DbContextOptionsBuilder”的第一个参数的可访问扩展方法“UseOracle”(您是否缺少 using 指令或程序集引用?)

请看下面的代码,它的最后一行没有编译,我的 nuget 引用包括 Oracle.ManagedDataAccess.Core(2.18.3)

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using EfGetStarted.AspNetCore.NewDb.Models;
using Microsoft.EntityFrameworkCore;
using Oracle.ManagedDataAccess.Client;

namespace EfGetStarted.AspNetCore.NewDb
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        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 ora_conn = "User Id=xyz;Password=pwd;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ORA01)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ora1)))";
            services.AddDbContext<BloggingContext>(options => options.UseOracle(ora_conn));


        }

最佳答案

尝试

PM> Install-Package Oracle.EntityFrameworkCore -Version 2.18.0-beta3

关于c# - options.UseOracle() 在 EF Core 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52972234/

相关文章:

c# - EF AsNoTracking 导致错误。类型 'System.DateTime' 的表达式不能用于分配类型 'System.Nullable` 1[System.DateTime]'

c# - 如何从 WinForms 应用程序打开网页,同时将浏览器保持在后台?

c# - 将 Blazor 应用程序部署到 IIS 子应用程序

sql-server - Entity Framework 核心2.0 : How to configure abstract base class once

c# - SQL 时间戳到 C# 上的日期时间

angular - 从 Angular 上传文件到 ASP.NET Core

entity-framework - EF Core 多对多关系表命名

c# - 预加载所有程序集 (JIT)

c# - ASP.NET MVC 应用程序中 Windows 身份验证失败的自定义错误页面

c# - 如何防止 HtmlGenericControl 对内容进行 html 编码?