问题标签 [ef-code-first-mapping]
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# - IndexBuilder 和 ForNpgsqlHasComment
为什么NpgsqlEntityTypeBuilderExtensions
和NpgsqlPropertyBuilderExtensions
有ForNpgsqlHasComment
方法来设置评论,但NpgsqlIndexBuilderExtensions
没有。如何为索引设置评论FluentApi
?
c# - 如果不存在与 EF 核心代码的映射,则会出现错误
大家好,我有sections
下面这样的模型
部分模型的数据结构如下所示
我还有一个模型Requests
,模型如下所示
以及 Requests 模型的示例数据结构,如下所示
使用这种模型数据结构,我在下面映射这两个模型
是上面提到的映射是实现相同的正确方法,我使用的是实体框架核心代码优先方法。
如果我不使用上述映射,我会收到此错误:
Requests.sections
无法确定和之间的一对一关系的子/依赖方Sections.Requests
。
任何人都可以让我知道是否有任何其他方式来映射这两个模型
c# - 软删除的子对象出现在父对象列表中
我首先使用 Entity Framework Core 2.2 代码。软删除在重写的 Context 类中实现。有一个 UnitOfWork 类为特定实体初始化存储库,同时将 Context 作为构造函数中的参数。为了更清晰的概述,本示例中省略了一些应用程序实体。我只会使用团队、成员、项目和员工。
在测试时,a 意识到:当我删除一个对象(例如,一个项目)时,它在 SaveChanges() 之后成功地将其“已删除”属性设置为“真”。但是,如果解决方案项目仍在运行,我意识到如果这个对象(Project)有一个父对象(Team),它仍然会出现在团队的 List Projects 中,即使它们的“Deleted”属性显然是“true”。当进程仍在运行时,如果我调用返回所有项目的存储库 Get() 方法,则已删除的项目不会显示在返回的项目列表中,而只会显示在团队的列表项目中。只有当我重新运行解决方案项目时,这些子对象才不再出现在父级的列表项目中。
这是我为分析问题而编写的 NUnit 测试:
这会干扰我在 TeamsRepository 中实现的 Delete 方法,如果列表中有子对象,则该方法不允许删除对象。这意味着,如果我想在之前的测试中删除团队,即使我删除了他所有的项目,我仍然无法在不重新启动应用程序的情况下完成(整个存储库可以在下面找到)
我想知道这是否是使用延迟加载时的正常行为,还是我错过了配置中的某些内容。
这是团队实体:
通用存储库和具有重写方法的特定 TeamsRepository。软删除的项目出现在 old.Projects.Count 中,所以我永远无法以这种方式删除团队(即使在
entity-framework - 同表多对多连接 EF CodeFirst .net Core
嗨,我有一个模型类
这个人将有一些相关的人有一些关系类型我想在同一个表中有多对多的连接所以我创建了另一个类
我试着在我的 contextDB 中做
但我在 WithMany 上遇到错误
“严重性代码描述项目文件行抑制状态错误 CS1061‘CollectionNavigationBuilder’不包含‘WithMany’的定义,并且找不到接受‘CollectionNavigationBuilder’类型的第一个参数的可访问扩展方法‘WithMany’(您是否缺少使用指令还是程序集参考?)存储库 C:\Users\Luka\Desktop\Individuals\Repositories\Context\IndividualsDbContext.cs 23 Active "
有什么建议么 ?如何正确地做到这一点?
编辑后:我试过了
和我的第二堂课
我的上下文看起来像这样
当我创建物理人时,它工作正常,当我创建物理人和物理人时,我添加了 RelatedIndividual,Ids 不匹配,并且它添加了 RelatedIndividuals 和 relatedIndividualsOf 例如,如果我新创建的个人是 ID 2 并且我与他相关到 ID 1 当它保存在它的 2 , 2 而不是 1 ,2 的基础时请帮助。
asp.net-core-3.0 - 我有一个实体,我需要添加实体类型的属性
在票证实体中,我需要票证类型的一个属性,列的类型应该是票证中的字节。结果表看起来像.Table-Ticket:column TicketType(tinyint,not null)。当我尝试迁移时,我遇到了这个异常。System.InvalidOperationException:“属性“Ticket.TicketType”的类型为“TicketType”,当前数据库提供程序不支持。更改属性 CLR 类型或使用“[NotMapped]”属性或使用“OnModelCreating”中的“EntityTypeBuilder.Ignore”忽略该属性。请帮我解决一些问题,谢谢。
entity-framework - Create one to many and many to one mapping between two tables in entity framework 6 code first approach
I want to create below two tables using Entity Framework 6 code first approach. I can use attribute notation or fluent API or combination of both.
Mainly I want to know how to create the mappings between the two entities, so that the foreign keys get created properly and what will be the virtual property be like in each entity (Icollection or object).
Table Name - Parent
Note- LastChildId column contains the last ChildId, if there is a child, corresponding to a ParentId in parent table else NULL.
Table Name - Child
Example
Table - Parent
Table - Child
Additional Information :
- A parent can have multiple child associated with it i.e. one to many mapping (parent to child). Child Virtual property should be ICollection.
- One child can have only one parent associated with it i.e. one to one mapping (child to parent).
Hello everyone, I have posted my answer below through which I was able to achieve the above requirement.
c# - 有人如何从实体框架代码首先映射上下文生成文档?
我想从实体框架代码优先上下文类生成一个文档。该文档将生成一个对象参考模型以及它如何映射到数据库。作为构建过程的一部分,人们将如何做呢?
entity-framework - 为什么这个模型实现 IEnumerable 时会生成阴影属性?
我有以下模型类:
当 Box 实现 IEnumerable<'Apple'> 时,影子属性 FarmerID 被添加到 Apple 表中:
当我注释掉 IEnumerable 实现时,预期的迁移是在没有 FarmerID 影子属性的情况下创建的。为什么会生成此阴影属性,如何删除它?(我试过忽略它,但后来我得到了 FarmerID1)。
我应该提到这是我的上下文类:
postgresql - 将 Entity Framework Core 中的继承结构映射到 Postgres - 冲突的错误消息
我的模型中有许多继承层次结构。我将 Entity Framework Core 3.1.2 与 Postgres 数据库一起使用。代码优先。我正在尝试创建迁移以生成我的数据库表。
我映射了我的第一个抽象对象
我了解到,如果不映射具体的后代,就无法映射抽象类。
所以我映射后代。
一切都很好。极好的。
然而。当我开始映射我的第二个继承层次结构(以及我尝试的任何其他继承层次结构)时,我陷入了这个奇怪的循环论证,我必须也不能映射孩子。
给我
如果我删除 AssetAttachments 的映射,我会回到这个
我无法在有效的资产继承层次结构和其他不起作用的继承层次结构之间找到任何有意义的区别。
我已经尝试了各种不同的映射方式,或者不映射后代对象,但它总是回到获得上述两个错误消息之一。我被期望映射而不是映射后代,这让我非常困惑 Dot Net 到底想从我这里得到什么。
有人能给我一些关于如何处理这两个相互冲突的错误消息的建议吗?
c# - 如何通过实体框架代码优先方法定义导航属性
我有以下类,我想在 Entity Framework 中用作我的数据上下文:
我研究了为 EF6 提供的示例,但我仍然遇到问题,当我尝试更新我的迁移时,我收到以下错误:
在模型生成期间检测到一个或多个验证错误:
引用表“dbo.AggregateRecords”中没有与外键“FK_dbo.InstrumentInfoes_dbo.AggregateRecords_AggregateRecordID”中的引用列列表匹配的主键或候选键。无法创建约束或索引。请参阅以前的错误。
如何定义类以便可以通过导航属性访问 InstrumentInfo?