我有通过LINQ to SQL连接和操作的外部程序数据库。我的问题是,我想支持更广泛的数据库版本,所以我必须检查列是否存在。
我尝试过类似的东西:
IEnumerable<string> k = db.ExecuteQuery<string>("select column_name from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME='{0}' and TABLE_NAME='POSIEDZENIA'", column);
它没有给我什么。 k.Count()给出错误:
无法多次枚举查询结果
当我通过ToList()将其强制转换为List时,它会给出0计数。
我确定此列存在于datacontext连接的数据库中。
你有什么建议吗?
答案 0 :(得分:1)
只需删除参数({0}
)周围的引号。
IEnumerable<string> k = db.ExecuteQuery<string>("select column_name from
INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME={0} and TABLE_NAME='POSIEDZENIA'", column);
有关详细信息,请访问this msdn article。