C# 如何使用列名作为变量而不是硬类型
我访问数据库的代码是C# 如何使用列名作为变量而不是硬类型,c#,linq,C#,Linq,我访问数据库的代码是 using (MyDataContext target = DataContextFactory<MyDataContext>.GetDataContext()) { var table_orders = from tab in target.Orders select tab; var cols = table_orders.First(); var colNames = (from p
using (MyDataContext target = DataContextFactory<MyDataContext>.GetDataContext())
{
var table_orders = from tab in target.Orders
select tab;
var cols = table_orders.First();
var colNames = (from property in cols.GetType().GetProperties()
select property.Name).ToList();
string[] fieldvalues;
foreach (var row in table_orders)
{
var i = 0;
foreach (var col in colNames)
{
var fieldvalues[i] = row.______.ToString(); <here I need to use 'col' variable not the hard typed property i.e., Order_Id, Order_Desc etc.
i++;
}
}
}
我如何完成它?我试图在没有硬输入列名的情况下读取表,并将每一行加载到字符串数组中。如果有任何其他方法,也请告诉我。如果这样做,就会失去编译器的支持。为什么要这样做?我闻到XY的问题,我明白。但是我需要阅读没有列名的每一行。还有其他方法吗?如果需要字段值数组,为什么?您应该使用DbConnection/Command/Reader,而不是linqtosql。