如何处理实体框架代码第一列,该列可以是整数或长整型



我们为第三方应用程序创建和管理的许多表编写了一个实体框架 CodeFirst 映射。他们最近将这些表中的许多列从 SQL 数据类型 INT 升级到 BIGINT。

我能想到的实现这一目标的唯一方法是使用两个单独的数据库模型,一个用于旧版本,一个用于新版本,但我想知道是否有办法将 .net 中的字段视为长字段,然后在它尝试读取旧样式数据库格式的情况下,它会自动将其转换为 int/从 int 转换

谢谢。

编程中的大多数问题都可以用另一层抽象来解决,这次也不例外。

如果您在数据库中具有 CREATE VIEW 权限,最简单的解决方案是抽象出视图后面的表,在所有情况下都将列强制转换为BIGINT。应用程序必须知道的只是此视图,而您的代码优先模型只是具有long的模型。您仍然应该能够使用该视图执行所有 CRUD 操作 - 当然,前提是您不会溢出小尺寸字段。

最新更新