gpt4 book ai didi

entity-framework - EF4 : Splitting a table to two entities using POCOs - why am I getting an exception?

转载 作者:行者123 更新时间:2023-12-02 19:41:16 26 4
gpt4 key购买 nike

我有一张表“类(class)”映射到两个实体“类(class)”“类(class)详细信息”
两者都有带有虚拟导航属性的POCO类。
两个实体使用相同的 ID(类(class)上的身份,但类(class)详细信息上不使用的身份)。
实体之间的映射是“引用完整性约束”,不在“映射”窗口中。
类(class)是约束中的原则。

我正在使用LazingLoadingProxyCreationEnabled

调用context.SaveChanges()后,连接看起来很好(ID、引用和数据)。

当从 context.Courses 的循环中访问 c​​ourse.CourseDetails 时,我得到由 Course 的构造函数创建的默认空 CourseDetails,而不是实际的 CourseDetails 数据!?

当我调用 context.LoadProperty(course, c => c.CourseDetails) 时,我收到一个 InvalidOperationException 消息:

违反了多重性约束。关系“OrmComparisons.EFPocos1.CourseDetailsCourse”的角色“CourseDetails”具有多重性 1 或 0..1。

问题1:为什么course.CourseDetails为空?
问题 2:为什么我会收到异常?
问题 3:我应该做什么?

如果有人想看,我可以分享解决方案+sql文件。

最佳答案

将自己编写的 POCO 与模板生成的 POCO 进行比较后,
我注意到 Fix___ 方法,该方法旨在修复导航属性。
一些如何处理所有其他类型的关系(一对多、多对多、继承)
使用虚拟属性和延迟加载。
仅将表拆分为一对一关系。

无论如何 - 修复是使用 t4 生成的 POCO,而不是使用简单的 { get; 自行编写的 POCO放; } 属性。

关于entity-framework - EF4 : Splitting a table to two entities using POCOs - why am I getting an exception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5343104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com