0

我使用 SQL Server Management Studio 向表中添加了一些列,然后想在 Visual Studio 2010 的项目中引用它们,它是使用实体框架加载的,这似乎没有一个方便的功能来简单地从数据库导入更新.

所以我手动添加了列。它们只是像现有列一样的位列,所以我使用剪切和粘贴来复制该列,然后重命名它们并填写存储字段以匹配。

但是当尝试构建项目时,它会失败:

O/R 设计器验证失败。. . myDB.dbml 错误:无法完成操作。未指定的错误

我发现的关于这些不太有用的错误消息的主要提示涉及重新启动 Visual Studio。这对我没有帮助。

还有什么可能导致(以及什么可以解决)这个错误?

4

1 回答 1

0

在我的情况下,造成这种情况的原因是 Visual Studio 2010 的可视 DBML 编辑器中的一个明显错误!

也就是说,我添加并手动输入的新列没有正确保存。即使在关闭 Visual Studio 并重新加载编辑器时,这也是不可见的——在那里,它显示正确。

但是,当我使用 Notepad++ 查看实际的 .dbml 文件时,我可以看到 Storage= 值仍然与我从中剪切和粘贴的列相同,而不是我手动输入的正确值,而且显示在可视 DBML 编辑器中!

我注意到正确的列甚至没有 Storage= 字段,这可能是编辑器中的错误的线索。

我使用 Notepad++ 从 .dbml 文件中删除了不正确的 Storage= 字段,这解决了构建问题。

在将我添加的列的成员变量添加到自动生成的 LINQ .cs 文件之前,我还需要进入视觉设计器并进行随机的微不足道的更改(我轻推表格在显示中的位置) .

于 2022-03-01T22:18:23.317 回答