Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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以编程方式请求db表列的最佳方法_C#_Linq_Linq To Sql - Fatal编程技术网

C# 使用LINQ以编程方式请求db表列的最佳方法

C# 使用LINQ以编程方式请求db表列的最佳方法,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,使用LINQ是否有一种只从数据库请求指定列的好方法?我希望能够根据代码中的任意条件仅选择某些列。不确定您的确切意思 您是否希望根据条件提取不同的列 像这样的 if(condition) { table.Select(x => x.ColumnA); } else { table.Select(x => x.ColumnB); } 我不知道你到底是什么意思 您是否希望根据条件提取不同的列 像这样的 if(condition) { table.Select(x

使用LINQ是否有一种只从数据库请求指定列的好方法?我希望能够根据代码中的任意条件仅选择某些列。

不确定您的确切意思

您是否希望根据条件提取不同的列

像这样的

if(condition)
{
    table.Select(x => x.ColumnA);
}
else
{
    table.Select(x => x.ColumnB);
}

我不知道你到底是什么意思

您是否希望根据条件提取不同的列

像这样的

if(condition)
{
    table.Select(x => x.ColumnA);
}
else
{
    table.Select(x => x.ColumnB);
}

您可以为每个条件创建匿名类型,这些条件只包含您指定的列

var anonymousType = from item in itemCollection
   select new {Column1 = item.Column1, Column2 = item.Column2};

var anonymousType2 = from item in itemCollection
   select new {Column2 = item.Column2, Column3 = item.Column3};

您可以为每个条件创建匿名类型,这些条件只包含您指定的列

var anonymousType = from item in itemCollection
   select new {Column1 = item.Column1, Column2 = item.Column2};

var anonymousType2 = from item in itemCollection
   select new {Column2 = item.Column2, Column3 = item.Column3};

因此,我必须为每个表的每个列组合创建一个匿名类型?。。我想这一切都取决于你的实现有多复杂。从查询中创建匿名类型是一个快速的解决方案(LINQ的目的是使这些事情变得容易和可维护)。如果你需要一个更复杂的解决方案,你评论的链接似乎可以解决这个问题。(+1)因此我必须为每个表?的每个列组合创建一个匿名类型?。。我想这一切都取决于你的实现有多复杂。从查询中创建匿名类型是一个快速的解决方案(LINQ的目的是使这些事情变得容易和可维护)。如果你需要一个更复杂的解决方案,你评论的链接似乎可以解决这个问题。(+1)看到这篇文章,看到这篇文章,