问题标签 [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.
c# - EF Core 5,删除多对多关系
我有一个由EF Core 5提供支持的 api,并且我正在处理多对多关系(艺术家和发布表)。
即使这样,post 操作也能正常工作,以艺术家为例,我决定不添加发送现有版本的 Guid 的可能性,而只添加将同时创建的完整版本对象。
那么我如何将艺术家链接到已经存在的版本呢?我试图在 put 动作中这样做,方法是在 artistD 内部发送一个 releaseDto 列表,只列出竞争的 Guid。
这可以很好地添加新的关系,ArtistRelease 联结表确实已更新但我未指定的 Guid 未删除,我无法删除关系,除非我删除艺术家或版本。
所以我的问题是如何删除关系?
你能给我一些帮助吗?
c# - EF core 5 - Include 中使用的 Lambda 表达式无效
不知道为什么,但我得到一个错误
Include 中使用的 Lambda 表达式无效
运行此查询时。我究竟做错了什么?
c# - 来自非关系数据库的 EF Core 5.0 关系
所以这就是问题所在。
我有一个来自旧 COBOL 软件(txt 文件)的古老数据库。
我想要的是
- 关联下面列出的对象而不更改原始数据。
背景
数据库是 MS-SQL。每个导入的对象都有一个唯一的 id(数据库生成)。旧 COBOL 软件中实际组合对象的“外键”(“NonUniqueItemProperty”)不是唯一的。(这就是为什么我不能在表之间创建关系)
我的问题是,这甚至可能吗?
目前我加入查询表为
此查询返回匹配结果集 (item-->ownerCount)*(item-->count)。然后我使用 linq 按 Item.NonUniqueItemProperty 对它们进行分组,并为每个项目设置所有者。
对象:
我试图在 fluent api 上建立关系:
就目前而言,没有错误,但导航属性为空。
编辑
在此之后,我意识到这个表达式返回了一个带有 null Ownership 导航的 Item 实体。结果集返回了我要查找的内容,因此导航可用于过滤项目集!
c# - EFCore 过滤具有包含和值列表的属性
我正在尝试根据实体上特定字段中的搜索值列表过滤实体。
例如:
这会生成异常“无法翻译 LINQ 表达式。要么以可翻译的形式重写查询,要么通过插入对 'AsEnumerable'、'AsAsyncEnumerable'、'ToList' 或ToListAsync'。
应用包含多个搜索值的过滤器的正确方法是什么?
c# - 如何直接填充 EF Core 为多对多关系生成的连接表?
我有这些实体:
EF Core 5 可以处理创建连接表,但我该如何使用这个表,我应该这样做吗?例如,我正在发送响应以将两个现有类型添加到现有书籍(我有书籍和类型 ID)。我想最好直接用这个 id 填充连接表,而不是先从上下文中获取这些实体,然后将 Genre 实体添加到 Book 实体的 Genres 字段。
c# - 模拟数据库集EF Core 5 中的 .FromSqlRaw
其中一个存储库方法恰好用于FromSqlRaw
通过存储过程从 SQL Server 获取数据。
我正在尝试围绕它编写单元测试,但到目前为止还没有运气。
这是我走了多远的示例片段
位我陷入了以下异常
System.InvalidCastException:无法将“System.Linq.Expressions.ConstantExpression”类型的对象转换为“Microsoft.EntityFrameworkCore.Query.QueryRootExpression”类型
该项目使用 EF Core 5。
知道如何解决这个强制转换异常吗?
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 的实体框架示例
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 是一个新版本,这可能是这个特定版本的错误或类似版本吗?
c# - Entity Framework Core 5 主键问题
我有一个现有的带有视图的 SQL 数据库ServersAndServices
。
我已将其添加到我的数据模型中:
这是我的DbContext
:
当我必须添加一个控制器(使用 Entity Framework Core 操作的 API 控制器)时,我收到此错误:
试图找出模型和 DbContext 的 EntityFramework 元数据:
未找到“ServersAndServices”主键。
我也尝试[Keyless]
过使用类之前的属性,ServersAndServices
但结果是一样的。
试图找出我在这里做错了什么,因为我看到的所有文档都表明这是处理这一挑战的正确方法。谢谢你。
c# - 如何根据子集合中的值选择对象?
我有一份文件清单。一个文档是这样的:
一个页面是这样的:
在 fluent LINQ 中针对 ef core 5 的以下查询是什么?:我想获取名称、描述或 OCR 中包含“文本”的所有文档。
是否可以使用单个流畅的 LINQ 查询获取文档?我想出了这个,但我不知道如何添加 OCR 位:
我知道我可以像 OCR 一样在 Document 上添加一个属性,检索所有文档,然后在内存中从页面返回所有 OCR 文本,然后在查询中执行类似的操作
并且可能有其他解决方案,但我想知道是否可以单独在 LINQ 中针对数据库执行此操作。
提前致谢!