Max*_*mme 79 entity-framework-core asp.net-core
我是EF核心的新手,我正试图让它与我的asp.net核心项目一起工作.
startup.cs在尝试配置dbcontext以使用来自config的连接字符串时,我得到了上述错误.我正在关注本教程: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));
}
Run Code Online (Sandbox Code Playgroud)
usesqlserver如果我将其直接放入上下文中,则会识别该方法:
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");
}
Run Code Online (Sandbox Code Playgroud)
我在网上的所有研究都指向缺少参考文献,但我似乎无法找出我缺少哪一个(见图).引用
任何帮助将不胜感激,
谢谢
Win*_*Win 191
我们安装了Microsoft.EntityFrameworkCore.SqlServer NuGet Package.
Microsoft.EntityFrameworkCore.SqlServer
PM > Install-Package Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)
然后,
services.AddDbContext<AspDbContext>(options =>
options.UseSqlServer(config.GetConnectionString("optimumDB")));
Run Code Online (Sandbox Code Playgroud)
小智 24
安装包 Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 安装包 Microsoft.EntityFrameworkCore.SqlServer
Pha*_*i K 23
在NuGet Package下面安装将解决您的问题
Microsoft.EntityFrameworkCore.SqlServer
安装包Microsoft.EntityFrameworkCore.SqlServer
bri*_*lam 11
这是项目系统中的一个已知问题。参见dotnet / project-system#1741
小智 10
包裹丢失。打开包管理器控制台并执行以下代码:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)
我正在使用Visual Studio Code。
1)尝试通过指定版本号来安装软件包“ Microsoft.EntityFrameworkCore.SqlServer”。
VS代码:
'dotnet添加软件包Microsoft.EntityFrameworkCore.SqlServer -v 1.1.1'
视觉工作室:-
'安装软件包Microsoft.EntityFrameworkCore.SqlServer -v 1.1.1'
请参考链接“ 包'Microsoft.EntityFrameworkCore.SqlServer'与项目中的'所有'框架不兼容”。
2)然后使用Microsoft.EntityFrameworkCore添加名称空间' ;手动在Startup.cs文件中。
请参阅下面的链接 https://github.com/aspnet/EntityFramework/issues/7891。
3)如果您遇到“ Microsoft.EntityFrameworkCore.SqlServer.Design”的任何依赖项问题,例如“包' Microsoft.EntityFrameworkCore.Design”与项目中的 “ 所有”框架都不兼容,我们需要运行以下命令,
VS代码:-
dotnet添加软件包Microsoft.EntityFrameworkCore.Design -v 1.1
视觉工作室
安装包Microsoft.EntityFrameworkCore.Design -v 1.1
小智 7
您的解决方案效果很好。
当我看到这个视频直到 17 分钟:https : //www.youtube.com/watch?v=fom80TujpYQ 我在这里遇到了一个问题:
services.AddDbContext<PaymentDetailContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DevConnection")));
Run Code Online (Sandbox Code Playgroud)
UseSqlServer 无法识别所以我做了这个 Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.5
& 使用 Microsoft.EntityFrameworkCore;
然后我的问题就解决了。关于我:基本上我从一开始就是一个纯粹的 PHP 程序员,今天我才开始 .net 编码,感谢 .net 中的良好社区
我相信这可以通过添加对 Microsoft.EntityFrameworkCore.SqlServer.Design 的项目引用来解决
Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
Run Code Online (Sandbox Code Playgroud)
Microsoft.EntityFrameworkCore.SqlServer 没有直接安装在我的项目中,但 .Design 包无论如何都会作为先决条件安装它。
请按照以下步骤操作。
为实体框架核心安装实体框架核心设计和SQL Server数据库提供程序:
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)
导入实体框架核心:
using Microsoft.EntityFrameworkCore;
Run Code Online (Sandbox Code Playgroud)
并配置您的DbContext:
var connectionString = Configuration.GetConnectionString("myDb");
services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(connectionString)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69735 次 |
| 最近记录: |