如何在datarow上选择带linq的字段

mar*_*zzz 0 c# linq datarow

我有这个linq查询:

string title = from DataRow r in (OleDB.DataItems.Tables[0]).Rows
select r.Title;
Run Code Online (Sandbox Code Playgroud)

我想在行上提取字段标题(来自数据库)(行将是1,而不是更多,所以我放在一个字符串而不是字符串[].

我该怎么做?

VStudio表示DataRow不包含Title的定义,但字段Title存在于数据库中.

我混淆:)

Alb*_*reo 5

正如FrédéricHamidi所说,你不需要LINQ.

但是,如果您仍然希望以这种方式(过度杀伤)并且您知道总是有一个单行的表,请执行以下操作:

DataSet data = new DataSet();

var table = (from a in data.Tables.Cast<DataTable>() select a).Single();

var row = (from a in table.Rows.Cast<DataRow>() select a).Single();

String title = row.Field<String>("Title");
Run Code Online (Sandbox Code Playgroud)

要么

DataSet data = new DataSet();

var table = (from a in data.Tables.Cast<DataTable>() select a).SingleOrDefault();

var row = (from a in table.Rows.Cast<DataRow>() select a).SingleOrDefault();

String title = row.Field<String>("Title");
Run Code Online (Sandbox Code Playgroud)

我使用了a,DataSet因为我不知道你的对象是如何构造的.