动态数据实体框架缺少十进制列

时间:2012-12-14 16:17:17

标签: asp.net entity-framework-4 asp.net-dynamic-data

我正在尝试构建一个动态数据网站,作为MySQL数据库的简单管理界面。

这不是我的专业领域 - 但是在关注微软网站时看起来非常简单。但是,出于某种原因,在将实体数据模型用于项目时,会创建edmx模型,但不会正确读取其中一个表。

在MySQL数据库中,我有一个包含9列的大表。第一列是主键,是INT。其余列的类型为Decimal,长度为6,2。

edmx文件显示INT列 - 但无法读取任何Decimal列。如果我将这些列更改为VARCHAR列 - 一切都完整可读?

动态数据字段模板包含一个小数控件,当然实体框架必须能够识别DECIMAL类型的列 - 所以我一定做错了什么 - 我无法弄清楚是什么! / p>

任何帮助非常感谢! 干杯 达伦

2 个答案:

答案 0 :(得分:2)

好的 - 我自己发现了答案! 问题是由于在表结构中使用无符号十进制值。

如果列标记为无符号,则动态数据/实体框架工作无法识别十进制数据类型。当我更改它时,实体框架能够正确读取数据库结构!

希望这可以帮助遇到同样问题的其他人!

干杯 达伦

答案 1 :(得分:0)

如果列标记为无符号,则动态数据/实体框架工作无法识别十进制数据类型。当我更改它时,实体框架能够正确读取数据库结构!

我明白了:

Property(x => x.NameColumn).HasColumnName(@"NameColumn").HasColumnType("decimal").IsRequired().HasPrecision(9, 4)