Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
如果您可以使用类似ORM的实体框架。然后使用Linq to实体,您可以组合多个.Where语句,在执行时,这些语句将转换为sql语句。这允许您在执行实际查询之前创建和组合筛选器。无论您的筛选要求有多复杂,sql和c#代码都将变得非常简单,如果您只是像分隔多_C#_Sql Server - Fatal编程技术网

如果您可以使用类似ORM的实体框架。然后使用Linq to实体,您可以组合多个.Where语句,在执行时,这些语句将转换为sql语句。这允许您在执行实际查询之前创建和组合筛选器。无论您的筛选要求有多复杂,sql和c#代码都将变得非常简单,如果您只是像分隔多

如果您可以使用类似ORM的实体框架。然后使用Linq to实体,您可以组合多个.Where语句,在执行时,这些语句将转换为sql语句。这允许您在执行实际查询之前创建和组合筛选器。无论您的筛选要求有多复杂,sql和c#代码都将变得非常简单,如果您只是像分隔多,c#,sql-server,C#,Sql Server,如果您可以使用类似ORM的实体框架。然后使用Linq to实体,您可以组合多个.Where语句,在执行时,这些语句将转换为sql语句。这允许您在执行实际查询之前创建和组合筛选器。无论您的筛选要求有多复杂,sql和c#代码都将变得非常简单,如果您只是像分隔多个where子句那样分隔where子句(在and之间),那么您的查询将更加高效。在临时表上有一堆子查询几乎肯定不是正确的解决方案。 SELECT * FROM People WHERE LastName = 'Bond' SELECT * FR


如果您可以使用类似ORM的实体框架。然后使用Linq to实体,您可以组合多个.Where语句,在执行时,这些语句将转换为sql语句。这允许您在执行实际查询之前创建和组合筛选器。无论您的筛选要求有多复杂,sql和c#代码都将变得非常简单,如果您只是像分隔多个where子句那样分隔where子句(在and之间),那么您的查询将更加高效。在临时表上有一堆子查询几乎肯定不是正确的解决方案。
SELECT * FROM People WHERE LastName = 'Bond'
SELECT * FROM [whatever was returned from above] WHERE FirstName = 'James'
SELECT * INTO #MyTempTable FROM People WHERE LastName = 'Bond'
SELECT * FROM #MyTempTable WHERE FirstName = 'James'
LastName = 'Bond'
FirstName = 'James'
var results = GetData(initialfilter);
results = results.Where( additionalFilter );
results = results.Where( thirdFilter );
SELECT * FROM (SELECT * FROM table2 WHERE LastName = 'Jones') WHERE FirstName = 'Bob'
private string BuildMyQuery(List<string> myStatements)
{
   // myHoldingTable1 will always contain the last result

   var sb = new StringBuilder();
   sb.AppendLine("DECLARE @myHoldingTable1 TABLE (Id int, Value1 varchar(100), ...);");
   sb.AppendLine("DECLARE @myHoldingTable2 TABLE (Id int, Value1 varchar(100), ...);");
   sb.AppendLine("INSERT INTO @myHoldingTable1 (Id, Value1 ....) SELECT id, value1... from myInitialTable;");
   foreach(var myStatement IN myStatements)
   {
      sb.AppendLine($"INSERT INTO @myHoldingTable2 (Id, Value1 ....) myStatement;");
      sb.AppendLine("DELETE FROM @myHoldingTable1;");
      sb.AppendLine("INSERT INTO @myHoldingTable1 (Id, Value1 ....) SELECT id, value1... from @myHoldingTable2;");
      sb.AppendLine("DELETE FROM @myHoldingTable2;");

   }

   sb.AppendLine("SELECT * FROM @myHoldingTable1;");
   return sb.ToString();
}