问题标签 [ef-core-5.0]

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

c# - EF Core 5,删除多对多关系

我有一个由EF Core 5提供支持的 api,并且我正在处理多对多关系(艺术家发布表)。

即使这样,post 操作也能正常工作,以艺术家为例,我决定不添加发送现有版本的 Guid 的可能性,而只添加将同时创建的完整版本对象。

那么我如何将艺术家链接到已经存在的版本呢?我试图在 put 动作中这样做,方法是在 artistD 内部发送一个 releaseDto 列表,只列出竞争的 Guid。

这可以很好地添加新的关系,ArtistRelease 联结表确实已更新但我未指定的 Guid 未删除,我无法删除关系,除非我删除艺术家或版本。

所以我的问题是如何删除关系?

你能给我一些帮助吗?

0 投票
0 回答
135 浏览

c# - EF core 5 - Include 中使用的 Lambda 表达式无效

不知道为什么,但我得到一个错误

Include 中使用的 Lambda 表达式无效

运行此查询时。我究竟做错了什么?

0 投票
1 回答
103 浏览

c# - 来自非关系数据库的 EF Core 5.0 关系

所以这就是问题所在。

我有一个来自旧 COBOL 软件(txt 文件)的古老数据库。

我想要的是

  • 关联下面列出的对象而不更改原始数据。

背景

数据库是 MS-SQL。每个导入的对象都有一个唯一的 id(数据库生成)。旧 COBOL 软件中实际组合对象的“外键”(“NonUniqueItemProperty”)不是唯一的。(这就是为什么我不能在表之间创建关系)

我的问题是,这甚至可能吗?

目前我加入查询表为

此查询返回匹配结果集 (item-->ownerCount)*(item-->count)。然后我使用 linq 按 Item.NonUniqueItemProperty 对它们进行分组,并为每个项目设置所有者。

对象:

我试图在 fluent api 上建立关系:

就目前而言,没有错误,但导航属性为空。

编辑

在此之后,我意识到这个表达式返回了一个带有 null Ownership 导航的 Item 实体。结果集返回了我要查找的内容,因此导航可用于过滤项目集!

0 投票
1 回答
410 浏览

c# - EFCore 过滤具有包含和值列表的属性

我正在尝试根据实体上特定字段中的搜索值列表过滤实体。

例如:

这会生成异常“无法翻译 LINQ 表达式。要么以可翻译的形式重写查询,要么通过插入对 'AsEnumerable'、'AsAsyncEnumerable'、'ToList' 或ToListAsync'。

应用包含多个搜索值的过滤器的正确方法是什么?

0 投票
1 回答
67 浏览

c# - 如何直接填充 EF Core 为多对多关系生成的连接表?

我有这些实体:

EF Core 5 可以处理创建连接表,但我该如何使用这个表,我应该这样做吗?例如,我正在发送响应以将两个现有类型添加到现有书籍(我有书籍和类型 ID)。我想最好直接用这个 id 填充连接表,而不是先从上下文中获取这些实体,然后将 Genre 实体添加到 Book 实体的 Genres 字段。

0 投票
1 回答
658 浏览

c# - 模拟数据库集EF Core 5 中的 .FromSqlRaw

其中一个存储库方法恰好用于FromSqlRaw通过存储过程从 SQL Server 获取数据。

我正在尝试围绕它编写单元测试,但到目前为止还没有运气。

这是我走了多远的示例片段

位我陷入了以下异常

System.InvalidCastException:无法将“System.Linq.Expressions.ConstantExpression”类型的对象转换为“Microsoft.EntityFrameworkCore.Query.QueryRootExpression”类型

该项目使用 EF Core 5。

知道如何解决这个强制转换异常吗?

0 投票
1 回答
560 浏览

c# - Cosmos 的 .NET 5 和 Entity Framework Core (5.0.1) 迁移问题

我有一个针对 Azure Cosmos 数据库使用 Entity Framework Core 5.0.1 的控制台应用程序 (.NET 5)。

我有以下内容DbContext

我有以下代码Program.cs

当我尝试创建迁移时,出现以下错误:

无法解析类型“Microsoft.EntityFrameworkCore.Migrations.IMigrator”的服务。这通常是因为没有为此 DbContext 配置数据库提供程序。可以通过覆盖“DbContext.OnConfiguring”方法或在应用程序服务提供程序上使用“AddDbContext”来配置提供程序。如果使用了“AddDbContext”,那么还要确保您的 DbContext 类型在其构造函数中接受 DbContextOptions 对象并将其传递给 DbContext 的基本构造函数。”

我在 GitHub 上使用 Microsoft 的 Cosmos 实体框架的基线。 GitHub 上 Cosmos 的实体框架示例

0 投票
1 回答
303 浏览

asp.net - Entity Framework Core SQLite 如何使用相对数据源

在我当前的项目中,我在 ASP.Net 项目中使用 Entity Framework Core 和 SQLite。

我的问题是,使用了项目文件中的数据库,而不是 ./bin-Directory 中的数据库

我按照 docs.microsoft-page 的说明创建数据库:

https://docs.microsoft.com/de-de/ef/core/get-started/overview/first-app?tabs=visual-studio

这是我正在使用的连接字符串。

我让创建的数据库在更新时被复制。

我浏览了许多页面,寻找提供相对数据库路径的方法,但我找不到解决方案。它要么仍然使用 project-DB-File,要么不会创建新的数据库,因为它无法打开,等等。

有人对此有解决方案吗?我注意到 Entity-Framework-Core-5 是一个新版本,这可能是这个特定版本的错误或类似版本吗?

0 投票
1 回答
239 浏览

c# - Entity Framework Core 5 主键问题

我有一个现有的带有视图的 SQL 数据库ServersAndServices

我已将其添加到我的数据模型中:

这是我的DbContext

当我必须添加一个控制器(使用 Entity Framework Core 操作的 API 控制器)时,我收到此错误:

试图找出模型和 DbContext 的 EntityFramework 元数据:
未找到“ServersAndServices”主键。

我也尝试[Keyless]过使用类之前的属性,ServersAndServices但结果是一样的。

试图找出我在这里做错了什么,因为我看到的所有文档都表明这是处理这一挑战的正确方法。谢谢你。

0 投票
1 回答
134 浏览

c# - 如何根据子集合中的值选择对象?

我有一份文件清单。一个文档是这样的:

一个页面是这样的:

在 fluent LINQ 中针对 ef core 5 的以下查询是什么?:我想获取名称、描述或 OCR 中包含“文本”的所有文档。

是否可以使用单个流畅的 LINQ 查询获取文档?我想出了这个,但我不知道如何添加 OCR 位:

我知道我可以像 OCR 一样在 Document 上添加一个属性,检索所有文档,然后在内存中从页面返回所有 OCR 文本,然后在查询中执行类似的操作

并且可能有其他解决方案,但我想知道是否可以单独在 LINQ 中针对数据库执行此操作。

提前致谢!