问题标签 [entity-framework-core]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2463 浏览

c# - ASP vNext 和 PostgreSql

当前存在任何方式,当我想使用 ASP.NET vNext 时,如何与 PostgreSql 数据库通信?我正在寻找解决方案,该解决方案主要适用于 linux。

EF7 现在仅支持 MS SQL 和 SqlLite,并且 Npgsql 未移植到 ASP.NET vNext。

谢谢

0 投票
11 回答
17810 浏览

c# - DbSet 在 EF7 中没有 Find 方法

我正在尝试创建一个通用存储库来访问我的数据库。在 EF6 中,我能够这样做以获得特定实体:

EF7 中的 DbSet 缺少 Find 方法。有没有办法实现上面的代码?

0 投票
4 回答
5154 浏览

c# - 在 EF 7 中配置多个 dbcontext

我用 VS 2015 ctp 创建了一个 web 启动器应用程序,我想添加一个内存存储来做一些测试,但是当我尝试读取数据时,我收到了这条消息

数据存储“SqlServerDataStore”“InMemoryDataStore”可用。只能将上下文配置为使用单个数据存储。在设置服务时,通过覆盖 DbContext 类或 AddDbContext 方法中的 OnConfiguring 来配置数据存储。

如何创建第二个数据存储?ConfigureService现在我在方法中有这一行

编辑:看起来情况尚不清楚。我有身份 sql server dbcontext,我想添加第二个 dbcontext,完全分开,我想在内存中运行。我正在寻找如何配置两个不同的 dbcontext,在这种情况下使用两个不同的数据存储。

第一个是 Identity ApplicationDbContext,另一个是这样的:

或者您喜欢的任何自定义 dbcontext

0 投票
7 回答
33522 浏览

c# - How do you configure the DbContext when creating Migrations in Entity Framework Core?

Is there way that dependency injection can be configured/bootstrapped when using Entity Framework's migration commands?

Entity Framework Core supports dependency injection for DbContext subclasses. This mechanism includes allowing for configuration of data access outside of of the DbContext.

For example, the following would configure EF to persist to a SQL server using a connection string retrieved from config.json

However, the migrations commands do not know to execute this code so Add-Migration will fail for lack of a provider or lack of a connection string.

Migrations can be made to work by overriding OnConfiguring within the DbContext subclass to specify the provider and configuration string, but that gets in the way when different configuration is desired elsewhere. Ultimately keeping my the migration commands and my code both working becomes undesirably complex.

Note: My DbContext lives in a different assembly than the entry point that uses it and my solution has multiple start-up projects.

0 投票
1 回答
329 浏览

c# - 使用不产生任何结果的包含将关闭阅读器

我正在使用 EF7 beta3。

在我的数据库上执行两个查询时,如果第一个查询没有返回结果并且包含一个包含,则第二个查询将失败并出现 System.InvalidOperationException。我无法在 MusicStore 中重现该问题,也无法弄清楚我的代码中是什么原因造成的。

抛出异常:

不抛出异常:

不抛出异常:

例外是:

EntityFramework.Core.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

附加信息:ExecuteReader 需要一个打开且可用的连接。连接的当前状态为关闭。

登录包含无关紧要,它可以是包含中的任何其他关系,它会抛出异常。

相关映射:

堆栈跟踪:

在 System.Data.SqlClient.SqlCommand.ValidateCommand(String 方法,布尔异步) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔 returnStream,String 方法,TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader() at Microsoft.Data.Entity.Relational.Query.QueryingEnumerable1.Enumerator.MoveNext() 在 System .Linq.Enumerable.d__8 2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() 在 Microsoft.Data.Entity.Query.EntityQueryExecutor.EnumerableExceptionInterceptor 1.EnumeratorExceptionInterceptor.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable 1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) 在 EMFDS.WebApplication.Controllers.HomeController.Index() 在 C:\Users\ nicolas.bourgoin\Documents\Visual Studio 2015\Projects\emfds_dev2\emfds\src\EMFDS.WebApplication\Controllers\HomeController.cs:第 25 行

更新 1

最后,我可以用 MusicStore 重现这个问题。但是,仅当您包含一对多关系(集合)时,它才会引发异常。如果包含多对一关系,则不会引发异常。

0 投票
4 回答
23241 浏览

c# - 是否有实体框架 7 数据库优先 POCO 生成器?

我一直在为我正在进行的一个新项目使用 Entity Framework 7 和 ASP.NET 5,但遇到了障碍。我正在工作的团队使用 DBA 优先的开发方法;即数据库由 DBA 设计,然后开发人员更改代码以补偿模型更改。

使用 EF6,这很有效,因为我们可以使用 EDMX 设计器的“更新”功能来更新代码。一键,我们得到了新的类,我们就完成了。但是,在 EF7 中,一切都不同了。没有更多的设计器,我们应该使用 Code-First,根据 EF 团队的一些博客帖子,它也应该支持“Database-First”代码生成。

但是,我无法弄清楚如何在 ASP.NET 5 应用程序中使用 Visual Studio 2015 CTP6 执行此操作。工具支持还在那里,还是我不走运?它甚至会到来吗?

0 投票
2 回答
2509 浏览

asp.net-mvc-5 - EF7 命令在 VS2015 CTP 6 中不起作用


我正在尝试在新的 asp.net 5 预览项目上运行 ef7 迁移。
我采取的步骤:

  1. 基于模板“ASP.NET 5 preview starter web”创建新项目
  2. 构建它
  3. Add-Migration在包管理器控制台中尝试命令

结果:

术语“Add-Migration”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。

我也试试这个命令:

我认为 VS 2015 项目是多余的,它执行但仍然无法识别 Add-Migration。

提前感谢您的线索...

0 投票
2 回答
166 浏览

azure-sql-database - 托管在 Ubuntu 上的 ASP.NET 5 应用程序不会访问 Azure SQL 数据库

ASP.NET 5 应用程序在 IIS 上正常运行,并允许向 Azure SQL Server 上的数据库添加任何内容。使用相同的连接字符串,虽然托管在 Ubuntu 上,但它无法访问数据库。没有抛出异常,但是我的带有数据(应该从数据库中获取)的表现在是空的。我无法创建新行。

即使使用 KRE,是否可以从托管在 Ubuntu 上的 ASP.NET vNext 应用程序访问 Azure Sql 数据库?

0 投票
1 回答
6212 浏览

entity-framework - 如何在 Entity Framework 7 中运行自动映射到实体的动态 SQL 查询(SqlQuery)?

我有一个正在尝试从 MVC5/EF6 升级到 MVC6/EF7 的现有应用程序。我们动态创建了一些 SQL 表,因此,我们利用了

方法自动映射到我们在整个应用程序中使用的实体。

这种方法在 EF7 中似乎已经消失(即不是 Microsoft.Data.Entity.Infrastructure.Database 的一部分)(或尚未实现)。是否有计划在 EF7 中重新实现此方法,或者是否有其他方法可以实现此目的?在我们弄清楚这一点之前,我们的项目有点死气沉沉。

2015 年 5 月 20 日编辑

我一直在尝试使用 FromSql 进行这项工作,因为这是 Beta4 中可用的功能,但无论我尝试使用何种连接字符串、参数组合,我都会不断收到不同版本的“@xxxvariable 附近的语法不正确”消息。

这两个调用都导致

有任何想法吗?

0 投票
1 回答
18199 浏览

entity-framework-core - 如何与最新的 EF Core 夜间版本建立多对多关系?

如何使用 Fluent API 在EF7 EF Core 中的两个表之间创建多对多关系?例如,假设您有以下表格:

照片到人物数据库图

如何利用 DbContext 类中的模型构建器来定义这样的关系?

我从 EF 团队的会议记录中看到了这个链接,但它是从去年开始的,我想知道是否有关于如何在EF7 EF Core 中解决这个问题的新信息。

我能够在 Photos 和 PhotosPeople 以及 People 和 PhotosPeople 之间创建一对多的关系。数据库按照我的意愿生成,但人物和照片之间的导航现在需要与中间实体进行交互。我想避免这种情况。