Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用LinQ c从数据库中选择特定字段_C#_Entity Framework_Linq - Fatal编程技术网

C# 无法使用LinQ c从数据库中选择特定字段

C# 无法使用LinQ c从数据库中选择特定字段,c#,entity-framework,linq,C#,Entity Framework,Linq,实际上我使用的是C实体。我已经为.edmx文件中新添加的表手动添加了新的实体类。问题是如何从数据库中获取所有行和所有列。但无法使用select new{}选择特定列。 实际错误为错误CS0012在未引用的程序集中定义了类型“DbDataRecord”。您必须添加对程序集“System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=xxxxxxxxx”的引用 这个查询工作正常,它从数据库中获取所有行 var listQuery = objR

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

这个查询工作正常,它从数据库中获取所有行

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=xxxxxxxx”的引用。805AdminPortal.Reports D:\xampp\htdocs\805\AdminSite起始代码\805AdminPortal.Reports\Reports\PregameReport.cs 50处于活动状态


看起来您需要添加对System.Data的引用,请按如下操作


右键单击“引用”,然后选择“添加引用…”。。。在弹出的窗口中,选择组装系统。Data

我没有太多使用C,但对我来说,这似乎是希望您导入/使用系统。Data Namespace但我现有的表似乎没有出错。同一项目组件中的EDMX零件仅因我添加了哪些内容而存在问题?如果您添加了一条语句,激活了Linq的几个部分,那么我只需要根据错误中的建议添加System.Data或了解您是什么包missing@davidg-这里的问题主要是为什么一个查询需要该程序集,而另一个查询不需要该程序集。这是一个关于缺少dll的问题,目前还没有达成协议。Edmax更复杂。@user8646340-当添加assy不起作用时,请返回并回答此问题或打开另一个问题。然后使用System.Data添加@TimSchmelter我看不出这样做有什么好处?@DavidG:如果OP需要在System.Data命名空间中使用类,比如DbDataRecord,并且不想编写System.Data.DbDataRecord。否则OP的下一个问题可能是找不到类型或命名空间…但它被添加了already@TimSchmelter嗯,是的,但没有任何迹象表明这里正在发生这种情况。