0

我有一个这样的实体框架生成类。

public partial class TBLM_PRODUCT
{
    public string PRODUCT_CODE { get; set; }
    public string PRODUCT_DESC { get; set; }
    public string PRODUCT_ISBN { get; set; }
    public string PRODUCT_SUPPLIER { get; set; }
    public string PRODUCT_PROGROUP { get; set; }
}

通常我使用 LINQ 查询选择这样的项目列表。

using ( AEntities RAEntity = new AEntities())
{
    RAEntity.TBLM_PRODUCT.ToList<DataControllers.TBLM_PRODUCT>();
}

我想选择一个包含两个像这样的字段的项目列表,如下面的查询

 select PRODUCT_CODE,PRODUCT_DESC from TBLM_PRODUCT where PRODUCT_PROGROUP='GG';

我怎样才能做到这一点?

4

3 回答 3

1

不要先选择所有记录,然后过滤您的数据。

如果你使用.ToList<DataControllers.TBLM_PRODUCT>()那么它可以选择所有记录。因此,您可以在向数据库发起查询时选择您的列,而不是这样做。

如果您TBLM_PRODUCT属于任何集合类型,例如IEnumerable<>or IQueryable<>then,

using ( AEntities RAEntity = new AEntities())
{
    var result = RAEntity.TBLM_PRODUCT.Where(x => x.PRODUCT_PROGROUP == "GG").Select(x => new { x.PRODUCT_CODE, x.PRODUCT_DESC }).ToList();
}
于 2018-12-08T07:03:13.217 回答
1
using ( AEntities RAEntity = new AEntities())
{
    var all = RAEntity.TBLM_PRODUCT.ToList<DataControllers.TBLM_PRODUCT>();
    var yourList = all
        .Where(x => x.PRODUCT_PROGROUP == "GG")
        .Select(p => new { p.PRODUCT_CODE, p.PRODUCT_DESC })
        .ToList();
}
于 2018-12-08T05:48:24.583 回答
0
using (AEntities RAEntity = new AEntities())
{
    var list= RAEntity.TBLM_PRODUCT
        .Where(p => p.PRODUCT_PROGROUP == "GG")
        .Select(p => new TBLM_PRODUCT { PRODUCT_CODE = p.PRODUCT_CODE, PRODUCT_DESC = p.PRODUCT_DESC })
        .ToList();
}
于 2018-12-08T07:16:53.300 回答