2

我们的数据库正在从 int 迁移到 bigint。在迁移的分区中,我在存储为 bigint 的表中有一个列名,在其他分区中,它存储为 int(要迁移)。想知道是否可以使用单个数据上下文来查询两个数据库。当我将 dbml 作为 bigint 并在已将列名定义为 int 的 db-> 表中进行查询时。我收到以下错误

指定的演员表无效。在 System.Data.SqlClient.SqlBuffer.get_Int64() 在 System.Data.SqlClient.SqlDataReader.GetInt64(Int32 i)

4

1 回答 1

1

您必须采取一种解决方法:正确声明所有表的真实数据类型。然后将它们转换为查询的一部分。例子:

tableBigint.Select(x => x.ID)
tableInt.Select(x => (long)x.ID)

您现在可以合并它们(或任何您想对它们做的事情),因为类型匹配并且反序列化也有效。

于 2013-03-20T23:03:02.397 回答