实体框架核心:DbContextOptionsBuilder不包含"usesqlserver"的定义,也不包含扩展方法"usesqlserver" [英] Entity Framework Core: DbContextOptionsBuilder does not contain a definition for 'usesqlserver' and no extension method 'usesqlserver'
问题描述
我是EF Core的新手,我正在尝试使其与我的ASP.NET Core项目一起使用.
I am new to EF core and I'm trying to get it to work with my ASP.NET Core project.
尝试将DbContext
配置为使用config中的连接字符串时,在startup.cs
中收到上述错误.我正在学习本教程: https://docs.microsoft .com/en-us/aspnet/core/data/ef-mvc/intro
I get the above error in my startup.cs
when trying configure the DbContext
to use a connection string from config. I am following this tutorial: https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro
startup.cs
中的有问题的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.SpaServices.Webpack;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore;
using tracV2.models;
using tracV2.data;
namespace tracV2
{
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddSingleton<IConfiguration>(Configuration);
string conn = Configuration.GetConnectionString("optimumDB");
services.AddDbContext<tracContext>(options => options.usesqlserver(conn));
}
如果将UseSqlServer
方法直接放在上下文中,则可以识别该方法:
The UseSqlServer
method is recognized if I put it directly into the context:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace tracV2.data
{
public class tracContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("myrealconnectionstring");
}
我在网上进行的所有研究都指向缺少参考文献,但我似乎找不到我缺少的参考文献(查看图片).
All my research online points to missing references, but I can't seem to find out which one I am missing (see image).
推荐答案
这是项目系统中的一个已知问题.参见 dotnet/project-system#1741
This is a known issue in the project system. See dotnet/project-system#1741
这篇关于实体框架核心:DbContextOptionsBuilder不包含"usesqlserver"的定义,也不包含扩展方法"usesqlserver"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!