问题标签 [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 投票
1 回答
216 浏览

sql-server - Has EF6+ / 7 added any ways that I can add update child tables?

I have two tables:

I am using the following EF6 code to add a new adminTest (with its adminTestQuestions) to the database:

I have similar but more complicated code to deal with the case where questions are added or removed from the adminTest. All my code works but it would be very good if EF was able to do what I needed rather than my having to add many lines of code.

Can anyone tell me if there have been any changes to EF6 or if any changes are planned to EF7 that will allow it

0 投票
0 回答
194 浏览

entity-framework - Visual Studio 14 vnext EntityFramework

我正在尝试从 github 构建最新的 EntityFramework 7。为此,我从 azure 为 CTP 4 准备了一个干净的 VM。我克隆了存储库,打开了一个 cmd 提示符,键入了 build initialize。它恢复包。然后我键入 build ,它总是崩溃并始终使用此处提供的相同堆栈跟踪:

出现问题的另一个迹象是,当我在 VisualStudio 14 CTP 4 中打开 EntityFramework 项目并查看 src 下的 EntityFramework 项目中的引用时,它有一个黄色三角形并且没有列出任何依赖项。

0 投票
0 回答
1206 浏览

asp.net - 在 asp.net vNext 中使用代码优先迁移时,“k ef migration add test”会出现异常

我不确定这是否应该工作,但我找不到太多关于此的信息。我正在运行命令

k ef 迁移添加测试

试图为我的代码优先模型启用迁移。我得到的例外是:

System.TypeLoadException:来自程序集“EntityFramework.SqlServer,版本=7.0.0.0,Culture=neutral,PublicKeyToken=null”的类型“Microsoft.Data.Entity.SqlServer.SequentialGuidValueGenerator”中的方法“Next”没有实现。

这意味着这还没有实现,但我觉得这很难相信。也许我做错了什么?

我使用的项目是使用 VS2014 CTP3 创建的,并设置为使用核心 CLR。这是project.json:

}

我认为这可能是版本控制问题,所以我将 EF 引用更改为:

“EntityFramework.SqlServer”:“7.0.0-*”

这给了我迁移命令的这个例外:

System.Exception:TODO:没有注册类型“Microsoft.Data.Entity.Migrations.ModelDiffer”的服务。

我想这是一个更好的例外,但我找不到任何关于如何解决这个问题的信息。可用的音乐商店示例不使用迁移。

更新

背景和模型:

启动:

也许很重要,我在 Windows 10 技术预览版上运行它。

更新 2

也许对于版本控制问题很重要,我的 Nuget.config:

0 投票
5 回答
1038 浏览

entity-framework - 找不到表格的复数形式

出于某种原因,代码优先的 EF7 (vNext) 不会使用/查找我的表格的复数形式。我已经尝试将表属性添加到模型中,但它并没有解决问题。

如果我将表命名为 Unit 则没问题。如果我将表命名为 Units,则找不到它。

我做错了什么或错过了什么?

谢谢你。

0 投票
1 回答
279 浏览

oauth-2.0 - 无法在 startup.cs 中同时使用身份验证和实体框架

我正在使用我能找到的最新的代码示例和代码片段,并且我知道事情正在迅速变化和发展。

当我使用开箱即用的 Visual Studio“vNext ASP.NET Web 应用程序”模板时,身份验证和数据库服务就可以正常工作。

但是,我认为模板不再是最新的,我想使用最新的程序集和方法。

如果我尝试使用此处提到的“Microsoft.AspNet.Security.OAuth”:

https://stackoverflow.com/a/26532837/390480

那么我无法让 SQL Server 的身份验证和实体框架都工作。

发生的情况是某些方法或属性不再可用。

现在是否有任何使用 SQL 的身份验证和 EF 7 示例?

理想情况下,我想使用UseOAuthAuthorizationServer,但这似乎不再是一个选择,所以UseCookieAuthentication很好。

谢谢你。

更新 1:

我已经尝试了两个示例应用程序“音乐商店”和“身份示例”。

在我运行它们附带的名为 build.cmd 的文件之前,它们不会构建/运行。

所以我运行了这个文件,但忘记了我上次运行它时它损坏了我的系统,它再次损坏了我的系统。

现在 Visual Studio 不断显示一个消息框,上面写着:

同样在运行 build.cmd 之后,我现在收到数百个错误,例如:

不知道上次是怎么解决的。现在正在尝试再次修复。

更新 2:

我记得我现在是如何修复我的系统的。我在这里记录了步骤,现在再试一次。这是一个大约1小时的过程。

http://forums.asp.net/p/2013828/5795198.aspx?Re+Can+t+creat+new+project

0 投票
10 回答
16023 浏览

entity-framework - 如何使用 Entity Framework 7 记录查询?

我在夜间构建频道上使用 Entity Framework 7(现在我使用的是 EntityFramework.7.0.0-beta2-11524 版本),并且我试图记录 EF 出于好奇而生成的查询。

我正在编写一个简单的控制台程序,我尝试使用与 EF6相同的日志记录技术,但DbContext.Database.Log在 Entity Framework 7 上不可用。有没有办法记录或只是查看 EF7 生成的 SQL?

0 投票
1 回答
2445 浏览

visual-studio-2015 - 如何在 Entity Framework 7 中为字符串属性创建索引

我正在尝试为 Entity Framework 7 创建代码优先模型。我正在使用最近发布的 Visual Studio 2015 Beta 和以下版本的 EntityFramework 包(来自我的 project.json 文件的片段):

看起来目前没有可用的数据注释,我正在使用 OnModelCreating 覆盖和最近实现的(部分?)迁移来创建我的模型。

目前,主键和一对一关系以及为整数类型创建索引都有效。例如:

此代码段会生成以下迁移代码:

但是当我尝试将索引添加到字符串属性时,会生成迁移,但是当应用时被 SQL Server 拒绝,显然是由于列类型为 nvarchar(MAX)。似乎.Required().MaxLength(100)不强制生成有限的字符串列类型。尽管有一种方法可以更改列类型,但我似乎找不到通过 ModelBuilder 调用它的方法:

产生的迁移:

有没有办法在 EF7 的 beta 版本中创建字符串属性的索引?

0 投票
16 回答
106916 浏览

c# - EF Core 映射 EntityTypeConfiguration

在 EF6 中我们通常能够使用这种方式来配置 Entity。

我们如何在 EF Core 中做,因为当我继承 EntityTypeConfiguration 的类时找不到该类。

我从 GitHub 下载了 EF Core 原始源代码,但找不到。有人可以帮忙吗?

0 投票
1 回答
144 浏览

sqlite - 通过构造函数分配作为外键的对象会修改主键

我有两个班级:PatientCountryPatient包含一个属性CountryOfOrigin,类型为Country。我已经像这样模拟了这种关系:

(一名患者出生在一个国家)

每当我构建一个新的时Patient,我希望将其分配Country为 CountryOfOrigin。

但是,在标有“>>”的行上出现以下异常

base {“实体类型'SqlLitePlayground.DataAccess.Country'上的属性'CountryId'是只读的,因此不能修改或标记为已修改。”} System.SystemException {System.NotSupportedException}

调试时,我注意到以下内容:在引发异常的行CountryId(具有私有设置器的属性,按约定检测为主键)之前是1. 一旦抛出异常CountryId-1. 在我的代码中,我没有更改的值CountryId(由于私有设置器,这也是不可能的)所以我假设这发生在DbSet方法db.Patients.Add(...)中但是我不明白为什么,或者我如何纠正这种行为。

我的最终问题是,(如何)我可以拥有作为具体对象而不是整数的外键?

请注意,这是一个玩具项目,开始学习 EF7,我确实关心数据库中当前的数据,我只是想学习如何对某些场景进行建模。

0 投票
2 回答
3267 浏览

.net - 如何使 VS2013 中的包管理器控制台可用(未禁用)?

目前,当我在 VS2013 中打开包管理器控制台时,它不可用(所有控件都处于禁用状态)。我想在 EF7 中执行迁移。(EF7 中的 EntityFramework.Commands 包安装在项目中。)

我不确定,为什么它不再工作,因为它以前工作过。只有我在此期间所做的更改(我知道):我已经安装了 VS2013 u4 并且我已经更新了 EF7 命令包。

有什么提示吗?