gpt4 book ai didi

asp.net-mvc-3 - EF5 : Unused and unknown column causes problems

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

好的,所以我有 2 个实体:类(class)和行业

Course and Industry Entities

行业实体只是一个引用表,其中列出了可以标记到类(class)的所有可用行业,以对它们进行分类。我输入了多对零或一的关系(一门类(class)可以选择是否有一个行业,而一个行业可以标记很多类(class))。

我知道我在过去玩过一些图表,添加和删除关联。

现在这是奇怪的部分:Course 的列映射有 2 个相似的列,IndustryId 和 Industry_Id

Odd Course Column Mapping

我怀疑它来自过去的关联,但我认为 EF 会解决这个问题。

问题是:

在我看来,创建类(class)时,IndustryId 是需要填充的属性。当我创建新类(class)时,我看到填充了数据库中的 IndustryId。

但是,当我通过类(class) (Course.Industry.Description) 访问行业的属性时,没有填充任何内容。它似乎无法获取 Industry 实体。

我看到数据库中填充了 IndustryId,因此我尝试填充 Industry_Id 列。这解决了它。

奇怪的是,模型中声明的属性是 IndustryId,因此数据库中填充了该列。但是当我尝试通过 Course 获取 Industry 实体时,它需要 Industry_Id,我不太清楚它来自哪里。

有人有什么想法吗?

最佳答案

这听起来像是在从数据库更新时,您将表中的列名称从 Industry_Id 更改为 IndustryId。下次您从数据库更新时,EF5(无法确定这是同一列,因为它匹配名称)删除了 Industry_Id 的映射,并添加了一个名为 IndustryId.

但是,您已经根据 Industry_Id 列在 EDMX 文件中创建了外键映射 - 这就是为什么您在加载相关记录时遇到需要它的问题。

通常,在使用数据库优先时,无论何时重命名数据库中的列,都需要更新 EF5 模型并更新/更正任何此类差异。

关于asp.net-mvc-3 - EF5 : Unused and unknown column causes problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15301452/

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