有 2 个 MySQL 数据库。一个是主数据库,另一个用于地理定位数据。现在,为了让 SubSonic 通过 Subcommander 处理生成的文件,我让它变得简单,只是创建了一个映射到另一个数据库中的地理位置数据的视图(这样所有的表和地理位置数据在技术上都在一个数据库中)。
现在,我遇到的问题是:在地理位置表中,有 2 个字段(纬度、经度)都是浮点数。
当我运行您的标准 SubSonic 语句来获取数据时:
return new Select()
.From(ZipDatum.Schema)
.Where(ZipDatum.Columns.Zipcode).IsEqualTo(zipCode)
.ExecuteSingle<ZipDatum>();
我在测试项目中遇到此异常:“TestCanGetZipData”失败:System.ArgumentException:“System.Single”类型的对象无法转换为“System.Decimal”类型。
看起来 SubSonic 将浮点字段比作十进制。但是这个异常让我陷入了循环。有什么办法可以解决这个问题?FWIW,在所有其他 200 多个表中,我们对需要十进制的字段使用十进制。但由于这是一个第 3 方数据库表,他们正在使用浮点数,这会导致问题。
有人遇到这种情况吗?