日期:2014-05-18  浏览次数:21049 次

LINQ方法里选择特定的某列
我知道可以用LINQ语句里可以用 select new选择特定列
可是要是用LINQ方法怎么选,我要在某一查询结果基础上再查询。

是用Select方法吗,不知道里面的格式怎么写

我的开发环境是Silverlight4
要在一个下拉框里显示TB_LISTITEM表里所有用户的登录身份(role字段),distint之后的。比如有普通用户,管理员,游客三种身份,就只显示这三项。得先查出role字段的所有值再distinct()。

C# code

SummaryDomainContext context = new SummaryDomainContext();
context.Load(context.GetTB_LISTITEMQuery()).//后面怎么写



另外再问一下,判断一个字符串是否以/打头的正则表达式怎么写,我写的"^\\/w+$"不管用。

------解决方案--------------------
用匿名对象
C# code
context.Load(context.GetTB_LISTITEMQuery()).Select(x=>new { 自定义属性1=x.prop1,自定义属性2=x.prop2 })

------解决方案--------------------
context.Load(context.GetTB_LISTITEMQuery());
cmbRole.ItemsSource = context.TB_LISTITEMs.GroupBy(x => x.Role).Select(x => new { role = x.Key });
cmbRole.DisplayMemberPath = "role";



------解决方案--------------------
C# code
context.Load(context.GetTB_LISTITEMQuery());
cmbRole.ItemsSource = context.TB_LISTITEMs.Select(x => new { A=x.role,B=x.role2 }).Distinct().ToArray();//ToArray的主要作用是立即执行
cmbRole.DisplayMemberPath = "role";

------解决方案--------------------
探讨
我知道可以用LINQ语句里可以用 select new选择特定列
可是要是用LINQ方法怎么选,我要在某一查询结果基础上再查询。

是用Select方法吗,不知道里面的格式怎么写

我的开发环境是Silverlight4
要在一个下拉框里显示TB_LISTITEM表里所有用户的登录身份(role字段),distint之后的。比如有普通用户,管理员,游客三种身份,就只显示这三项。得先查出……