13

我有一个在实体框架中映射的表,它可以很好地添加/更新和删除记录。我从 SQL 服务器中删除了一个名为“Category”的列,然后在模型中重新映射了我的实体。这工作正常,列消失了。

现在,我在表上运行查询以更新一行并得到相同的错误,无效列“类别”。

这已从 SQL 表中删除并从实体中删除,那么当我运行以下代码时,它还在寻找这个该死的列吗?

using (Entities db = new Entities())
                { 
                       var Voucher = (from vouchers in db.Vouchers
                                 where vouchers.ID == ID
                                 select vouchers).FirstOrDefault();

                       if (Voucher != null)
                       {
                           Voucher.Status = (int)Vouchers.UI.Enums.VoucherStatus.Removed;                           
                           ret = db.SaveChanges() == 1;
                       }
                } 

这是错误:

列名“类别”无效。

我已经清理了代码、构建、重新构建和更新了大约 100 次实体。

有没有人有任何想法?

谢谢

4

6 回答 6

25

从 *.EDMX 文件中删除该表,然后将该表再次添加到 *.EDMX 文件中

于 2012-07-25T11:02:47.857 回答
9

我曾经也删除并重新添加表格,但从来没有这样。我宁愿做什么。我关闭模型。右键单击并以 XML 格式打开,然后他们手动删除此引用。因此,它使我在一个模型中的多个图表以及我定义的颜色保持不变。

于 2013-10-24T23:33:03.227 回答
5

不需要从 *.EDMX 文件中删除整个表格,只需从 *.EDMX 文件中删除不必要的字段。它帮助了我

于 2013-12-16T14:49:49.990 回答
2

我也遇到了同样的问题,我通过从设计视图 .edmx 文件中删除列来解决。其他选项是前面在帖子中提到的,您删除表并将其重新添加到您的 .edmx 文件中。

于 2016-02-01T14:24:16.533 回答
0

另一种解决方案是在实体框架图中找到该表,然后删除“类别”列并保存模型文件。

于 2018-10-19T19:15:14.337 回答
0

在此处输入图像描述

打开 Edmx -> 右键单击​​表格列 -> 选择从模型中删除

于 2020-02-03T10:20:20.537 回答