2

我正在从定义主键的 wordpress 数据库中检索数据,decimal并且我在项目中使用 x64 配置...

我搜索了一下,我发现这是问题所在,但我找不到解决方案。

我必须做什么/下载才能用decimal作主键?

Microsoft Connect 上的此问题

4

4 回答 4

1

我有同样的问题,我今天通过在 DBContext 对象中将这两个选项设置为 false 来解决它:

this.ContextOptions.LazyLoadingEnabled = false;

this.ContextOptions.ProxyCreationEnabled = false;

这似乎是代理创建的序列化问题。

我首先尝试将我的类型映射到 EDMX 文件中的 Int32,但这给了我非常低的性能。

于 2011-11-15T10:22:35.960 回答
0

如果您只是从表中读取数据,您可以尝试创建一个将字段转换为 int 的视图,然后将您的实体映射到视图。

除此之外,我认为你很不走运。这是实体框架中的一个错误;要么更改字段类型,从 EF 切换,要么等待 MS 修复错误。

于 2011-03-30T02:00:47.113 回答
0

您是否尝试过实体框架 4.1 候选版本?该错误被标记为已修复一个月左右。

于 2011-03-30T16:57:44.057 回答
0

我遇到了同样的问题,很遗憾地说:微软仍然没有修复它。我尝试了 EF 4.1 和 EF 5.0,但它们不包含任何解决此问题的方法。

到目前为止,唯一的解决方法是将所有十进制主键更改为 Int64。当然,这是数据库模式的变化,这不是您想要的。另一种选择是使用 32 位环境,该错误仅存在于 64 位中。

PJ 的评论(2011 年 11 月 11 日上午 11:46)在https://connect.microsoft.com/VisualStudio/feedback/details/620031/invalidprogramexception-using-entityframework-poco-template-table-w-十进制主键听起来根本没有希望,也许它甚至在 .NET 4.5 中都没有修复

于 2012-10-08T15:18:14.043 回答