有一个Module(ModuleId, ModuleName, ModuleActions,Right)数组,其中ModuleActions属性是一个ModuleAction(ActionId,ActionName,IsDefault)的数组。请用Linq语句查询出Module数组中Right为真的,ModuleAction的IsDefault为真的第一个ModuleAction组成的一个新的对象数组,叫做ModuleModle(ModuleId ,ModuleName,ActionName)。 求大神帮忙啊LINQC#数组

解决方案 »

  1.   


    var query=from m in db.Module
              where m.Right==true
              and m.ModuleAction.IsDefault==true
              select new ModuleModle
    {
       ModuleId=m.ModuleId,
       ModuleName=m.ModuleName,
       ActionName=m.ModuleAction.ActionName,
    }
      

  2.   

    var query=from m in db.Module
              where m.Right==true
              and m.ModuleAction.Any(x=>x.IsDefault)
              select new ModuleModle
                         {
        ModuleId=m.ModuleId,
      ModuleName=m.ModuleName,
        ActionName=m.ModuleAction.First().ActionName,
          };
      

  3.   

    擦,CSDN的代码格式化显示太。太业余了~
      

  4.   

    那下面这个,该怎么做啊?添加一个扩展函数,能将Person (Id,Name,Address,Birthday) 对象的数组按照Lambda表达式的条件查询出来,返回一个新的数组;
      

  5.   

    扩展函数,要将函数的第一个参数定义成 this List<Persion> ,放在static class里我怎么看着你的问题像作业题啊,给你参考,就不写具体代码了:
    http://blog.csdn.net/q107770540/article/details/6010387
      

  6.   

    你们木有看清楚题目哦,ModuleAction是Actions下面的。