将DBML更改为bigint是否适用于int值

本文关键字:是否 适用于 int bigint DBML | 更新日期: 2023-09-27 18:04:51

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

指定的类型转换无效。在System.Data.SqlClient.SqlBuffer.get_Int64 ()在System.Data.SqlClient.SqlDataReader。GetInt64 (Int32 i)

将DBML更改为bigint是否适用于int值

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

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

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