IQueryable C#选择 [英] IQueryable C# Select

查看:309
本文介绍了IQueryable C#选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码...但是我只需要选择一列即可显示在我的Datagridview中. 我只需要代码选择一些列即可.示例

Select{t => t.usu_Login, t => t.usu_Login}

public List<tb_usuario> Get(FilterDefinition filter)
{

     var contexto = new indNET_Entities();

     IQueryable<tb_usuario> Consulta = contexto.tb_usuario.AsQueryable<tb_usuario>()
                                                        .Where(t => t.usu_Ativo == 1)
                                                        .OrderBy(t => t.usu_Login);


     return Consulta.ToList();

}

解决方案

如果只希望使用有限数量的列,并且打算将结果传递给方法,请首先声明一个具体的类型来描述元素.

>

public class UsuarioData
{
     public string UsuLogin { get; set; } // or whatever
     public string UsuName { get; set; }  // or whatever
}

然后您可以在方法的返回类型中使用它

public List<UsuarioData> Get(...) 

最后,使用您选择的类型.

var consulta = contexto.tb_usuario.Where(whatever).OrderBy(whatever)
                   .Select(t => new UsuarioData
                                {
                                     UsuLogin = t.usu_login,
                                     UsuName = t.usu_name
                                }
                           );

return consulta.ToList();

当然,您的呼叫者应该期望将其作为结果(或仅对var使用类型推断).

this is my code... but i need select only column to display in my Datagridview. I Need the code to select only some columns.. example

Select{t => t.usu_Login, t => t.usu_Login}

public List<tb_usuario> Get(FilterDefinition filter)
{

     var contexto = new indNET_Entities();

     IQueryable<tb_usuario> Consulta = contexto.tb_usuario.AsQueryable<tb_usuario>()
                                                        .Where(t => t.usu_Ativo == 1)
                                                        .OrderBy(t => t.usu_Login);


     return Consulta.ToList();

}

解决方案

If you only want a limited number of columns and you intend to pass the result out of the method, first declare a concrete type to describe the elements.

public class UsuarioData
{
     public string UsuLogin { get; set; } // or whatever
     public string UsuName { get; set; }  // or whatever
}

Then you can use this in the return type for the method

public List<UsuarioData> Get(...) 

And finally, use the type in your select.

var consulta = contexto.tb_usuario.Where(whatever).OrderBy(whatever)
                   .Select(t => new UsuarioData
                                {
                                     UsuLogin = t.usu_login,
                                     UsuName = t.usu_name
                                }
                           );

return consulta.ToList();

And, of course, your callers should expect to get this as the result (or just use type inference with var).

这篇关于IQueryable C#选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆