如果你有一个简单的LINQ查询,如:如何动态地选择从LINQ查询两个字段,结果
var result = from record in db.Customer
select new { Text = record.Name,
Value = record.ID.ToString() };
它返回一个可映射到一个下拉列表中的对象,是有可能动态指定哪些字段映射到文本和值?
当然,你可以做一个大的情况下(开关)语句,那么每个代码Linq查询分开,但是这是不是很优雅。什么是好的会是这样的:
(伪代码)
var myTextField = db.Customer["Name"]; // Could be an enumeration??
var myValueField = db.Customer["ID"]; // Idea: choose the field outside the query
var result = from record in db.Customer
select new { Text = myTextField,
Value = myValueField };
不错!这是确定以字符串的回报,因为我们可以简单地做的ToString()以某种方式在代码的最后一行(myValueField(记录))。toString()方法? – 2010-04-12 03:55:19
或也许Func键<顾客,字符串> myValueField =(用户C)=> c.ID.ToString(); ? – 2010-04-12 03:57:05
会不会有一种方法来确定在封闭的字段名称以可变,说(用户C)=> C [“名称”]? – 2010-04-12 03:59:42