我们的数据库正在从int迁移到bigint。在迁移的分区中,我在一个表中有一个列名,该表存储为bigint,而在其他分区中,它存储为int(要迁移)。想知道是否可以使用单个datacontext来查询两个数据库。当我将dbml作为bigint并在db->表中进行查询时,该表已将列名定义为int。我收到以下错误
指定的演员表无效。在System.Data.SqlClient.SqlBuffer.get_Int64() 在System.Data.SqlClient.SqlDataReader.GetInt64(Int32 i)
答案 0 :(得分:1)
您必须执行一种解决方法:正确声明所有表的真实数据类型。然后将它们转换为查询的一部分。例如:
tableBigint.Select(x => x.ID)
tableInt.Select(x => (long)x.ID)
您现在可以将它们联合起来(或者您想对它们做任何事情),因为类型匹配以及反序列化都可以。