首页 新闻 搜索 专区 学院

如何去掉匿名类中的一个属性

0
悬赏园豆:50 [已关闭问题]

var q = from a in xxx

  select new {a.id,a.name,a.bb,a.cc,....}

 

var q2 = 某个方法(q,"id");

//q2 为{a.name,a.bb,a.cc,....}的IQueryable

 

某个方法要怎么写,

问题补充: 我要的是一个通用的方法, 而不是1楼写的具体的东西, 这东西的主要作用是,用q绑定页面的数据展示控件, 如掉一列后,导出Excel
啊啦星的主页 啊啦星 | 初学一级 | 园豆:95
提问于:2010-04-30 11:56
< >
分享
其他回答(1)
0

为什么补第一次查询的时候就不要ID呢

难道你想在查询结果中取消某一列,如果q中本来就没有id列呢,如何处理呢

 

   class Program
    {
        static void Main(string[] args)
        {

            List<Class3> list = new List<Class3>();
            list.Add(new Class3() { ID = "001", Name = "shiwenbin1", Age = 201 });
            list.Add(new Class3() { ID = "002", Name = "shiwenbin2", Age = 202 });
            list.Add(new Class3() { ID = "003", Name = "shiwenbin3", Age = 203 });
            list.Add(new Class3() { ID = "004", Name = "shiwenbin4", Age = 204 });

            var q = from a in list
                    select new { a.ID, a.Name, a.Age };
          
            var qq = from b in q
                     select new { b.Name, b.Age };

            Console.WriteLine("--------------------------");

 

            Console.ReadLine();
        }
    }
    public class Class3
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }

Virus-BeautyCode | 园豆:1619 (小虾三级) | 2010-04-30 13:19
0

这个问题需要动态的从匿名类中删除一个字段,即根据类{a.id,a.name,a.bb,a.cc,....}(src)来动态生成另一个类{a.name,a.bb,a.cc,....}(des)。

然后var q2 = from b in q select des;

动态操作类的方法可以参见http://blog.csdn.net/bai_bzl/archive/2007/12/06/1920409.aspx

希望能有所帮助!

wang_yb | 园豆:3514 (老鸟四级) | 2010-05-07 17:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册