C# 如何在EF6和asp.net core 3之间建立连接

C# 如何在EF6和asp.net core 3之间建立连接,c#,entity-framework-6,asp.net-core-3.0,C#,Entity Framework 6,Asp.net Core 3.0,目标: 使用名为EF的项目在ASP.net core 3中使用EF 6。 Project EF是数据库sql server的主连接 问题: 我听到一个错误说 错误=无法计算表达式。不支持此操作。未知错误:0x80070057 为了检索asp.net core 3中的数据,我在代码中缺少了什么部分 public IActionResult Index() { var ddf = _context.Blogs; return View(); } 信息: *已将项目上载到gith

目标:
使用名为EF的项目在ASP.net core 3中使用EF 6。
Project EF是数据库sql server的主连接

问题:
我听到一个错误说

错误=无法计算表达式。不支持此操作。未知错误:0x80070057

为了检索asp.net core 3中的数据,我在代码中缺少了什么部分

public IActionResult Index()
{
    var ddf = _context.Blogs;


    return View();
}
信息:
*已将项目上载到github()



我建议首先尝试建立一个从web项目到数据库的数据库连接。在
Startup.cs
类中,添加这行代码
var connectionString=Configuration.GetConnectionString(“DefaultConnection”)
ConfigureServices.cs
class下。然后添加
services.AddDbContext
以配置EF并将服务添加到容器中

下面是代码片段

using Microsoft.Extensions.DependencyInjection;

     public void ConfigureServices(IServiceCollection services)
            {
                services.AddControllersWithViews();

                var connectionString = Configuration.GetConnectionString("DefaultConnection");

    services.AddDbContext<BloggingContext>(options =>
                    options.UseSqlServer(connectionString), ServiceLifetime.Transient);

            }
使用Microsoft.Extensions.DependencyInjection;
public void配置服务(IServiceCollection服务)
{
services.AddControllersWithViews();
var connectionString=Configuration.GetConnectionString(“DefaultConnection”);
services.AddDbContext(选项=>
options.UseSqlServer(connectionString),ServiceLifetime.Transient);
}

希望能有所帮助。

我怀疑这是一个重复,但显示错误消息的图像涵盖了代码,所以我不能确定。为什么不应该使用Entity Framework Core?为什么使用实体框架?从中,目前不支持在.NET Core或.NET Standard项目上直接使用EF designer。您可以通过将EDMX文件以及实体和DbContext的生成类作为链接文件添加到同一解决方案中的.NET Core 3.0或.NET Standard 2.1项目来克服此限制。参考:在问题本身中发布代码,而不是可以随时删除的Github repo。您发布的内容看起来像是调试器监视错误,而不是真正的异常。你有例外吗?可能是调试器显示错误,因为它无法在应用程序冻结时执行查询。您的代码不包含任何查询。
DbSet
不是IQueryable,也不是查询。它是用于创建查询的基础。如果要加载所有存储的实体,请使用
\u context.Blogs.ToList()
当我使用“services.AddDbContext(options)”时,会收到一条错误消息“严重性代码说明项目文件行抑制状态抑制状态错误CS1061'IServiceCollection'不包含'AddDbContext'的定义,并且找不到接受'IServiceCollection'类型的第一个参数的可访问扩展方法'AddDbContext'(是否缺少using指令或程序集引用?)WebApplication1 C:\candy2\WebApplication1\u asp.netcore3\WebApplication1\Startup.cs 31处于活动状态"建议您在github下载该项目,您可能会理解得更好。@sUP尝试在
Startup.cs
类中添加
Microsoft.Extensions.DependencyInjection
命名空间。
AddDbContext
IServiceCollection
接口的扩展方法。我已经更新了上面的代码片段。@Juniuz t他的问题是关于实体框架6的,而不是实体框架核心,因此AddDbContext()方法不存在
using Microsoft.Extensions.DependencyInjection;

     public void ConfigureServices(IServiceCollection services)
            {
                services.AddControllersWithViews();

                var connectionString = Configuration.GetConnectionString("DefaultConnection");

    services.AddDbContext<BloggingContext>(options =>
                    options.UseSqlServer(connectionString), ServiceLifetime.Transient);

            }