【问题标题】:Select list of objects using a LINQ query使用 LINQ 查询选择对象列表
【发布时间】:2019-05-07 16:59:14
【问题描述】:

我有一个这样的对象列表。对象是 TBLM_PRODUCT 的类型,这是为我的数据库表 TBLM_PRODUCT 生成的实体框架类。我的 TBLM_PRODUCT 类看起来像这样

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; }
        public string PRODUCT_MEDIUM { get; set; }
        public Nullable<decimal> PRODUCT_ACTIVE { get; set; }

    }

我已经这样宣布了我的清单。 private IEnumerable myList= new List();

我正在让对象像这样列出

myList = RAEntity.TBLM_PRODUCT.ToList<DataControllers.TBLM_PRODUCT>();

我想查询此列表以获取处于活动状态的项目。 在普通的 sql 查询中,我可以这样做。

select * from TBLM_PRODUCT where PRODUCT_ACTIVE = 1;

我需要选择一个对象列表。 如何使用 LINQ 查询来实现它?

【问题讨论】:

    标签: c# sql class entity-framework-6 linq-query-syntax


    【解决方案1】:

    这...

    RAEntity.TBLM_PRODUCT
        .Where(x => x.PRODUCT_ACTIVE == 1)
        .ToList<DataControllers.TBLM_PRODUCT>();
    

    将由 EF 翻译成...

    select * from TABLE where Active = 1
    

    只需确保在 List 之前调用了 Where 扩展。但是,我有点疑惑为什么PRODUCT_ACTIVE的数据类型是decimal

    【讨论】: