【发布时间】:2018-06-01 09:33:00
【问题描述】:
实际上我正在使用 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# 的次数不多,但对我来说,这看起来像是希望你“导入”/“使用”
System.Data命名空间 -
但我现有的表似乎没有错误。只有我添加的问题有问题
-
EDMX 部件是否在同一个项目(程序集)中?您添加了一条激活 Linq 更多部分的语句,我只想根据错误的建议添加 System.Data 或找出您缺少的包
-
@davidg - 这里的问题很大一部分是为什么 1 个查询需要程序集而不是另一个查询。这还不是一个完成的交易,这是关于一个丢失的 dll 的。 Edmax 更复杂。
-
@user8646340 - 添加组件不起作用时,请返回并edit 这个问题或打开另一个问题。
标签: c# entity-framework linq