【发布时间】:2017-09-22 04:08:40
【问题描述】:
我有一个包含 Web API Core 启动项目的应用程序。 我发现我无法在 .Net Core 中为视图搭建现有数据库。 因此,我决定为我的 Web API Core 应用程序使用 .Net 框架并使用 EF6 获取项目中的数据。 但是在启动项目(Web API Core)中,我需要设置连接字符串。为此,我需要 EF6,即使我在项目中添加 EF6,我似乎也无法做到这一点(也许这不能在核心项目中完成?)。 所以这段代码在我尝试添加上下文的地方失败了;
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddMvcOptions(o => o.OutputFormatters.Add(
new XmlDataContractSerializerOutputFormatter()));
var connectionString = Startup.Configuration["connectionStrings:propertiesConnectionString"];
services.AddDbContext<SurveyEntities>(o => o.UseSqlServer(connectionString));
services.AddScoped<IPropertiesRepo, PropertiesRepo>();
}
如果我下载 EF6,我会收到此错误;
错误 CS0311 类型“Properties.EF6.MSurveyV2Entities”不能 在泛型类型或方法中用作类型参数“TContext” 'EntityFrameworkServiceCollectionExtensions.AddDbContext(IServiceCollection, 行动,服务寿命)'。没有 来自“Properties.EF6.MSurveyV2Entities”的隐式引用转换 到“Microsoft.EntityFrameworkCore.DbContext”。
那么我该如何解决这个问题?
【问题讨论】:
-
你得到什么错误?
-
错误 CS0311 类型“Properties.EF6.MSurveyV2Entities”不能用作泛型类型或方法“EntityFrameworkServiceCollectionExtensions.AddDbContext
(IServiceCollection, Action , ServiceLifetime) 中的类型参数“TContext” )'。没有从“Properties.EF6.MSurveyV2Entities”到“Microsoft.EntityFrameworkCore.DbContext”的隐式引用转换。 -
Core API 似乎无法为 EF6 项目设置连接字符串。
标签: c# entity-framework asp.net-core