IQueryable C# 选择

发布于 2024-12-27 18:34:16 字数 555 浏览 1 评论 0原文

这是我的代码...但我需要仅选择要在我的 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();

}

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();

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

谁的年少不轻狂 2025-01-03 18:34:16

如果您只需要有限数量的列并且打算将结果传递出方法,请首先声明一个具体类型来描述元素。

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 进行类型推断)。

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).

凉城已无爱 2025-01-03 18:34:16
 IQueryable<tb_usuario> Consulta = contexto.tb_usuario.AsQueryable<tb_usuario>()
                                                    .Where(t => t.usu_Ativo == 1)
                                                    .OrderBy(t => t.usu_Login)
                                                    .Select(t => t.ColumnName);
 IQueryable<tb_usuario> Consulta = contexto.tb_usuario.AsQueryable<tb_usuario>()
                                                    .Where(t => t.usu_Ativo == 1)
                                                    .OrderBy(t => t.usu_Login)
                                                    .Select(t => t.ColumnName);
泛泛之交 2025-01-03 18:34:16

有几种方法可以做到这一点,最简单的方法是:

     grdvwHoldings.DataSource = Model.Holdings
                                .Select(x=> new 
                                            { Name= x.HoldingName, 
                                              CustomerName = x.FundCustomerName 
                                             }).ToList();
     grdvwHoldings.DataBind();

或者,您可以创建一个类并用新的 {} 替换该类,然后在数据层级别执行此操作。

Well there is a few ways you could do this, the easiest way:

     grdvwHoldings.DataSource = Model.Holdings
                                .Select(x=> new 
                                            { Name= x.HoldingName, 
                                              CustomerName = x.FundCustomerName 
                                             }).ToList();
     grdvwHoldings.DataBind();

Alternatively you could create a class and substitute the new {} for the class and do it at the data layer level.

八巷 2025-01-03 18:34:16

试试这个:

(contexto.AsEnumerable() 
select new {usu_Login=r.Field<string>("usu_Login")}).ToList();

Try this:

(contexto.AsEnumerable() 
select new {usu_Login=r.Field<string>("usu_Login")}).ToList();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文