Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
如何在linq中将表名动态传递给sql_Linq_Linq To Sql - Fatal编程技术网

如何在linq中将表名动态传递给sql

如何在linq中将表名动态传递给sql,linq,linq-to-sql,Linq,Linq To Sql,我需要你的帮助来解决这个问题 如何将linq中的表名动态传递到C.net中的sql public IntPol(DataClasses1DataContext DC, decimal value,string tableName) { } tableName将动态更改。我认为这是不可能的。至少不使用传统的SQL语言。您可以使用L2S连接对象,硬编码T-SQL语句,并将其传递给SQL Server。但是,在这种情况下,您不再真正使用L2S 如果我正确理解了这个问题,那么你可以这样做 public

我需要你的帮助来解决这个问题

如何将linq中的表名动态传递到C.net中的sql

public IntPol(DataClasses1DataContext DC, decimal value,string tableName)
{
}

tableName将动态更改。

我认为这是不可能的。至少不使用传统的SQL语言。您可以使用L2S连接对象,硬编码T-SQL语句,并将其传递给SQL Server。但是,在这种情况下,您不再真正使用L2S

如果我正确理解了这个问题,那么你可以这样做

public IntPol(DataClasses1DataContext DC, decimal value,string tableName)
{
  DC = new DataClasses1DataContext("yourConnString");
  var result = DC.Mapping.GetTables().SingleOrDefault(t => t.TableName.ToString() == tableName);
}

或者您也可以执行tableObject.GetType.Name,但如果类型是动态的,则可能必须单独发送类型tableType。

查找;但是我不确定你能不能改变表格的动态你可以在这篇文章中找到一些选择: