2

我在我的 Sql Server Db 中添加了一个列,然后在 VS 中我从数据库更新了模型,有一个模板自动生成了一些代码。

代码编译得很好,但是当我尝试访问数据库时,会出现以下错误:

数据读取器与指定的“CompassModel.tbSalesContract”不兼容。类型的成员“Finalized”在数据读取器中没有同名的对应列。

Finalized 是我添加到我的数据库中的新列。

有谁知道如何追踪这一点,如果是这样,将来是否有解决方法或方法可以避免?

4

3 回答 3

6

如果您使用的是 SP 然后更新新添加的列,或者如果您使用的是内联查询,则输入新添加列的确切名称。您所说的模板不包含新添加的列名..尝试编辑模板..问题将得到解决。

于 2012-05-29T12:09:41.197 回答
0

如果您使用的是 SP,请确保使用的别名.. 即。例如:它应该写成

字段名作为“别名”

谢谢,克里斯托马斯

于 2014-01-06T10:29:07.293 回答
0

希望这对某人有所帮助,但是当我收到此错误时,我试图从存储过程中返回实体类型。

为了解决这个问题,我必须添加正确的函数导入映射。在您的 edmx 中,转到模型浏览器视图并导航到函数导入。右键单击您的存储过程名称并选择函数导入映射。在那里,您可以将存储过程返回结果映射到适当的实体属性。

于 2016-01-29T01:28:50.733 回答