我考虑使用EF访问安装在客户系统上的遗留SQL Server数据库。
问题在于,这些数据库架构不是100%一致:虽然它们都有相同的(相关)表和字段,但某些数字字段可能具有不同的数据类型。
就应用程序而言,据我所见,这些类型是“兼容”的:例如,客户A数据库中包含小数字的字段可能是smallint
,但客户B数据库中是一个int
,或者包含价格的字段在A的数据库中可能是decimal(10,2)
,但在B的数据库中是float
(是的,这意味着B可能会出现浮点问题 - 毕竟这是一个遗留数据库)。
由于我们不是唯一访问数据库的人,因此更改(并且统一)架构不是一种选择。 Entity Framework能够处理这种情况吗(即,如果模型定义声称是decimal(10,2)
,那么它是否能够优雅地接受SQL Server表中的double
),还是它会崩溃艰难?