这是我的代码......但我需要只选择列才能在我的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();
}
答案 0 :(得分:11)
如果您只想要有限数量的列并且打算将结果传递给方法,请首先声明一个具体类型来描述元素。
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
类型推断)。
答案 1 :(得分:1)
有几种方法可以做到这一点,这是最简单的方法:
grdvwHoldings.DataSource = Model.Holdings
.Select(x=> new
{ Name= x.HoldingName,
CustomerName = x.FundCustomerName
}).ToList();
grdvwHoldings.DataBind();
或者你可以创建一个类并用新的{}代替类,并在数据层级别进行。
答案 2 :(得分:1)
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);
答案 3 :(得分:1)
试试这个:
(contexto.AsEnumerable()
select new {usu_Login=r.Field<string>("usu_Login")}).ToList();