Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查linq中是否存在列_C#_Sql Server_Linq - Fatal编程技术网

C# 检查linq中是否存在列

C# 检查linq中是否存在列,c#,sql-server,linq,C#,Sql Server,Linq,我有一个外部程序的数据库,我想通过LINQ连接到SQL并对其进行操作。我的问题是,我想支持更广泛的数据库版本,所以我必须检查列是否存在 我试过这样的方法: IEnumerable<string> k = db.ExecuteQuery<string>("select column_name from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME='{0}' and TABLE_NAME='POSIEDZENIA'",

我有一个外部程序的数据库,我想通过LINQ连接到SQL并对其进行操作。我的问题是,我想支持更广泛的数据库版本,所以我必须检查列是否存在

我试过这样的方法:

      IEnumerable<string> k = db.ExecuteQuery<string>("select column_name from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME='{0}' and TABLE_NAME='POSIEDZENIA'", column);
IEnumerable k=db.ExecuteQuery(“从信息_SCHEMA.COLUMNS中选择列_name,其中列_name='{0}'和表_name='POSIEDZENIA',column”);
它什么也没给我。k、 Count()给出错误:

查询结果不能枚举多次

当我通过ToList()将其强制转换为List时,它给出了0计数

我确信datacontext所连接的数据库中存在此列


你有什么建议吗

只需删除参数(
{0}
)周围的引号即可

IEnumerable k=db.ExecuteQuery(“从
信息_SCHEMA.COLUMNS,其中列_NAME={0}和表_NAME='POSIEDZENIA',COLUMN);

有关更多信息,请访问。

是否检查列名或列值>?我想检查列是否“存在”。实际值无关紧要。它给出了预期结果:/check out:@OzgurBar链接中没有枚举。您是最好的。谢谢;)
IEnumerable<string> k = db.ExecuteQuery<string>("select column_name from 
INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME={0} and TABLE_NAME='POSIEDZENIA'", column);