问题标签 [ef-core-2.2]

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 回答
941 浏览

asp.net-core - EF Core 一对一关系不返回结果中的数据

我目前正在使用 EF Core 2.2.1 和代码优先迁移将现有数据库设计迁移到新应用程序中。我们当前的设计有一个主表,然后可以有多个具有相同共享主键的子表。我看过这个类似的问题,并试图在那里复制答案,但在结果中显示数据时运气不佳。

简化的模式看起来有点像下面:

然后我使用fluent api设置了如下关系:

在我尝试添加数据之前,它似乎工作得很好。我用一些虚拟数据创建了根条目。root表中:

TypeA表中:

一切都很好,看起来不错。当我这样查询时:

我得到以下结果(为格式化道歉,试图让它更好一点):

A应该填充设置为的Test.Models.TypeA对象?这是 EF 所做的优化,我需要按需加载还是我错误地设置了关系?或者,我的方法在这里是否错误,我应该以不同的方式做这件事?A12A

0 投票
2 回答
355 浏览

json - 在从 asp.net 核心到 Angular 的过程中丢失继承类型

我正在开发一个应用程序,在服务器上使用 asp.net core 2.2 和 ef core 2.2,在客户端使用 Angular 7。我无法弄清楚:

我有以下(简化的)模型:

当我通过 API 将客户实体返回给客户时,有时法人实体是一个组织,有时是一个人。在返回哪种类型(组织或个人)之后,我希望将属性 LegalEntityType(如果是组织)或属性 Gender(如果是个人)呈现到 JSON 代码中。这是我的第一个问题,以下使它们都为空:

因为这不会加载仅存在于继承实体中的导航属性。这是 JSON 字符串的摘录,以防万一

人:

组织:

应该出现的是以下内容:

人:

组织:

明确一点:客户可能是个人或组织,实体(组织和个人)都从法人实体继承,因此客户财产“法人实体”有时是个人,有时是组织。当我呈现 JSON 时,必须维护特定类型。

希望我足够清楚 - 请原谅我这么久,我想确保问题得到理解。

0 投票
1 回答
5620 浏览

c# - EF Core 查询 Where 子句是一个集合?

我正在尝试在 EF Core 中构建一个健全的查询,该查询返回一组事物,而这些事物又派生自一组事物。基本上在原始 SQL 中,一个人会做一个 JOIN。

它在 ASP.NET Core 中,因此初始集合是SecurityPrincipal对象上的角色列表:

然后将这些角色映射到我们数据库中的组,因此我可以查找它们:

此查询非常满意,并按预期返回一组组。然而,这些组可以访问另一个资源,这是我真正想要的,因为它是多对多关系,所以有一个桥接表。

这是我试图查询 AssetGroup 加入表,以便我可以获取映射到SecurityPrincipal.

当我执行第二个查询时,我的输出窗口中有很多垃圾邮件:

关于如何表达这样的嵌套查询以便 EF Core 可以正确组合单个 SQL 查询的任何线索?

0 投票
2 回答
729 浏览

sql-server - 为什么默认的 newsequentialid() 不起作用?

我有一个默认值为 的表idnewsequentialid但生成的值不是连续的。

我正在填充这样的行:

使用SQL Server Express 2017 14.0.2002

0 投票
1 回答
1019 浏览

c# - 如何使用 Entity Framework Core 在变量/列表中获取存储过程返回的特定列

我想获取存储过程返回的特定列的列表。在结果集中,两个列名是通用的,一个列名是动态的。

RESOURCENAME 和 ENText 列在输出中每次都相同,但根据输入参数,第三列名称会有所不同。

我正在使用 Entity Framework Core LINQ 在 C# 中编写以下代码

我正在尝试使用两种不同的方法调用存储过程GETLANGUAGETRANSLATION 。但是两者都失败并出现以下错误

“FromSql”操作的结果中不存在所需的列“ESText”

其中 ESText 指的是我不是从存储过程返回但存在于表中的列。

我只想在 c# 的结果集中存储几列而不是全部。

任何机构都可以帮助我吗?

注意:它适用于Select * from LanguageTranslation查询

0 投票
1 回答
3359 浏览

mongodb - MongoDbContext 用于 EF 核心中的数据迁移?

目前我正在尝试寻找一种使用 EF core 2.2 进行数据迁移的方法。阅读说明后: https ://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/

我意识到它只支持 DbContext。目前,在我的项目中,我的数据库有 mongoDBContext 和 IMongoDBContext ,但找不到任何支持它们的包。我也尝试使用Microsoft.EntityFrameworkCore.Design,但没有帮助。有什么解决方案可以让我使用 mongoDbContext 作为数据库提供者,或者任何支持 mongoDB 作为数据库提供者的包?

至于我尝试创建迁移文件,尽管没有 DbContext:

从我的终端

错误

太感谢了!

0 投票
1 回答
113 浏览

c# - EF 核心 2.1 投影中的三元运算符运行时值不能为空异常

实际上,我有一个问题,即我不能为可空字段设置空值而不是默认值。

我无法在 select 语句中使用 EF core 2.1 编写正确的代码,因为我遇到了运行时异常“值不能为空”或者无法使用空传播运算符。

注意:如果重要,则从查询中的子实体获取行。

我想写:

甚至:

社区要求的其他信息: 选定的实体:

选择:

哪里WithVotes<Issue, IssueVote, int>(currentUserId)是:

0 投票
1 回答
95 浏览

entity-framework - EF Core 驱动程序无法在 LinqPad 5 中加载 netstandard 或其依赖项之一

我使用 EF Core v 2.2.1 创建了一个 .NET Full Framework 类库,并为 Linqpad 5 (5.36.03) 下载了 EF Core 驱动程序 v 2.x,当我尝试创建与类库 DLL 的新连接时,我收到以下错误消息:

无法加载文件或程序集“netstandard,Version=2.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。该系统找不到指定的文件。

我单击了“还原 nuGet 依赖项”,它给了我消息“未检测到 NuGet 依赖项”。

有什么想法吗?

0 投票
1 回答
212 浏览

fluentvalidation - FindAsync never comes back however Find works just fine

I am using FluentValidation to validate the objects. I am simply checking checking whether the user exists in database or not. In my case, DbContext.Entity.Find works just fine but DbContext.Entity.FindAsync never returns.

Please refer to the below source code where it is happening.

Thanks

0 投票
2 回答
3250 浏览

entity-framework - Entity Framework Core 2.2:禁用特定实体的迁移

我正在尝试在已经创建数据库的现有系统上构建一个 aspnetcore 应用程序,并且我将在其上添加一些表。

我已经对数据库进行了逆向工程,以将现有表作为实体添加到我的应用程序中,并且我已经编写了自己的实体,稍后将添加这些实体。最后,将所有实体添加到单个 DbContext。

我的要求如下:

  • 我想为新添加的实体启用代码优先迁移
  • 我不希望对已经存在的表/实体进行迁移

注意:我不想接触生成的迁移代码。

有没有合适的方法来处理这种情况?