问题标签 [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# - 使用流利的 api EF Core 5 的多对多关系
我想我有两个具有多对多关系的实体,我将使用 fluent api 来解决这种关系
使用 ef core 5 我们不需要创建新实体。问题出在我的数据库中,现在我有一个名称为的表
作者书
有两列
AuthorsAuthorId 和 BooksBookId。
如何更改新表的名称和两列的名称?也是解决这种关系的正确方法吗?
entity-framework-core - LINQ-to-Objects - 不能按对象分组
我将 efcore 2.2 升级到 5 并且 simple group by 不起作用,
数据已经在内存中,看看:
在 Ef Core 2.2 中它运行良好,业务按其类别分组,现在它什么也不做。
如果我尝试按 id 分组,它可以工作:
但我需要 Category 实体,这样我只能得到类别 ID。
c# - 尽管配置了 FK,但 EF Core 创建阴影属性
我发现 EF 核心正在为我的外键生成影子属性,尽管我正在配置它们,从我从文档中可以看出,它应该只在它不能匹配列的数据类型时才这样做,但它们都是指导。这是我的 FK 的一部分:
另一半:
ef core 的配置在这里:
但是,当我进行迁移时,它会创建一个 propertyId1 列并将 FK 附加到该列以及 PropertyId 字段,任何想法为什么要创建这个新列?
编辑我认为它与列和 FK 的可空性(?)有关,在分类对象中,PropertyId 是一个 Guid 并设置为不可为空,它总是想要创建的 PropertyId1 是一个可为空的 Guid,但我不知道如何强制它不可为空,或者只是使用我告诉它的属性?
entity-framework-core - 与 ef core 5 的一对一关系(使用 2 个 FK)
我有这两个实体。每本书可以有一个或零个 BookDetail(1 对 1 关系)
我想有 2 面外键,我只是为一侧外键找到解决方案,但我想将 BookDetail 的 FK Id 存储在 Book 上,反之亦然在 EF Core 5 中。
c# - EF Core 中的零或一关系
我在 EF Core 中有一个零或一关系的特殊场景,默认情况下无法轻松建模(如EF Core 一对一或零关系中所述)。
我有多个实体与“匹配”实体具有 0-1 关系。多个实例可以引用同一个“匹配”实体(这就是为什么我不能将外键放入“匹配”表的原因,这似乎是建模 0-1 关系的推荐方式)。
如何定义从实体之一到 0-1“匹配”实体的关系?我必须创建一个 Match().HasMany(someKindOfBaseClassOfEntities) 吗?有没有更好的办法?
c# - 跳过导航没有定义外键
语境
我正在关注 Entity Framework Core 中新的多对多关系建模的示例,在此处引用:
并由在这里构建它的团队(展开 2020 年 7 月 23 日的帖子):https ://github.com/dotnet/efcore/issues/19549
我已经通过一个新的 .NET Web API 项目完成了这项工作——唯一的变化是在我的模型中我使用的是 Staff 和 Team 对象,而不是示例中的 Post 和 Tag 对象。
我的设置
- macOS 10.15.7(卡特琳娜)
- .NET 框架 5.0.101
- EF 版本 5.0.1
问题
当我运行迁移时,EF 会按照文档描述在生成的 SQL 代码中创建查找表,即使没有定义查找对象。这很棒。
但是,在我应用 SQL 更改并运行应用程序后,当我访问 API 端点时,我收到一条错误消息:
The skip navigation 'Staff.Teams' has no foreign key defined.
我对此感到困惑,因为示例没有在其模型中定义外键。
我做了一些环顾四周,但没有设法找到类似的问题。
想知道这是否可能是 macOS 上的 .NET 的问题。
谢谢。
ef-core-5.0 - EFCore 5.0 拦截器语句类型
我已经实现了一个 DbCommandInterceptor,为生成的 SQL 添加了最大递归深度:
当不检查 SQL 是否以 SELECT ( command.CommandText.StartsWith("SELECT")
) 开头时,我肯定会在更新语句上遇到异常(例如context.SaveChanges()
)。检查查询类型是否有更简洁的解决方案?像命令上的枚举或类似的?
谢谢!
asp.net-core - 更新数据库(EF Core 5)失败(代码优先)
我将环境升级到 ASP.NET Core 5.01,但在使用代码优先方法更新数据库时遇到了一些困难。Add-Migration 命令按预期工作并生成正确的迁移源文件。但是,当我尝试运行更新数据库时,我遇到了错误。这是我的 PMC 的输出:
运行 Update-Database -verbose 时,我得到以下输出:
输出表明 Program.cs 类中没有 CreateHostBuilder 但它显然存在:
如果我随后尝试发出 Remove-Migration 命令,我会得到相同的结果:
我在错误消息中查找了建议的链接,但我没有看到我做错了什么。我还使用完全相同的步骤(在升级之前)执行了六次没有问题的迁移,这些步骤是:
我对EF相当陌生。这是我第一次尝试将它用于项目。任何帮助将不胜感激。现在我已经升级到 .Net Core 5.0.1,我做错了什么吗?
谢谢
--- 值