c# - 使用 LINQ 查询获取列表中的选定字段
问题描述
我有一个这样的实体框架生成类。
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';
我怎样才能做到这一点?
解决方案
不要先选择所有记录,然后过滤您的数据。
如果你使用.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();
}
推荐阅读
- keras - 二进制编码(非单热编码)分类数据的 Keras 自定义损失函数
- spring - Spring Security,更新 SecurityContextHolder
- python - 了解 Airflow 中的 execution_date
- three.js - Three.JS 中的三角形-三角形交点
- c# - Visual Studio 调试器在虚拟属性集上崩溃
- node.js - Cloudwatch 记录我的响应,但测试控制台显示错误?
- r - R 中是否有一个合适的循环来计算旅程中的接触点数量并将最终销售点变量放置在最后一个接触点?
- android - 如何更新 alertDialog 中的按钮颜色变量?
- cuda - CUDA 根据字长合并内存访问速度
- python - ARIMA 模型的最佳信息标准?