首页 > 解决方案 > 无法使用 LinQ c# 从 DB 中选择特定字段

问题描述

实际上我正在使用 C# 实体。我已经在 .edmx 文件中手动为新添加的表添加了新的实体类。问题是可以从数据库中获取所有列的所有行。但无法使用 select new {} 选择特定列。 实际错误是错误 CS0012 类型“DbDataRecord”在未引用的程序集中定义。您必须添加对程序集“System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=xxxxxxxxxx”的引用。

这个查询工作正常,它带来了数据库中的所有行

var listQuery = objReport.Batter_YTD_Tbl.ToList();

当我尝试如下抛出错误时

(from YTD_Tbl in objReport.Batter_YTD_Tbl 
 select new { test = YTD_Tbl.AB})
.ToList();

错误是

错误 CS0012 类型“DbDataRecord”在未引用的程序集中定义。您必须添加对程序集“System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=xxxxxxxxx”的引用。805AdminPortal.Reports D:\xampp\htdocs\805\AdminSite-Starting-Code\805AdminPortal.Reports\Reports\PregameReport.cs 50 活动

标签: c#entity-frameworklinq

解决方案


看起来您需要添加对 的引用System.Data,因此请执行以下操作

右键单击 Reference 并选择 Add Reference... 在出现的窗口中,选择程序集System.Data


推荐阅读