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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
在select new语句中使用变量作为列名的Linq_Linq_Variables_Select - Fatal编程技术网

在select new语句中使用变量作为列名的Linq

在select new语句中使用变量作为列名的Linq,linq,variables,select,Linq,Variables,Select,我有一个LINQ查询,正如您所看到的,我试图使用变量作为列名 string first = "someColumnName1"; string sec = "someColumnName2"; string third = "someColumnName3"; var data = (from i in ctx.PlanskaKalkulacijas where i.PKid.Value == id select new { first = i.

我有一个LINQ查询,正如您所看到的,我试图使用变量作为列名

string first = "someColumnName1";
string sec = "someColumnName2";
string third = "someColumnName3";

var data = (from i in ctx.PlanskaKalkulacijas
            where i.PKid.Value == id
            select new { first = i.NP1, sec = i.NP2, third = i.NP3}
           ).OrderByDescending(m => m.Id)
            .ToList();
这段代码在gridview中生成第一、第二和第三列名称,但我需要一些ColumnName1、一些ColumnName2和一些ColumnName3


有帮助吗?

在插入数据后重命名gridview中的列,或者为正确创建的匿名类型的属性命名

var data = (from i in ctx.PlanskaKalkulacijas 
            where i.PKid.Value == id 
            select new 
            { 
                someColumnName1 = i.NP1, 
                someColumnName2 = i.NP2, 
                someColumnName3 = i.NP3
            }).OrderByDescending(m => m.Id)
              .ToList();

如果在编译时不知道值,只需重命名它。要做到这一点,请按此进行。

我怀疑问题作者在编译时实际上并不知道列名@zire-你能澄清一下你在编译时是否知道列名吗?是的,我从db得到的列名和那些名称是不同的。@zire Ok,而不仅仅是重命名标题。再次感谢Ondrej这项工作:受保护的void GridView1_RowDataBound(对象发送方,GridViewRowEventArgs e){if(e.Row.RowType==DataControlRowType.Header){e.Row.Cells[0]。Text=“Date”;}