2008-10-09 27 views

回答

1

这是为了去了解它的方式:

DataContext dc = new DataContext(); 

var recipe = (from r in dc.Recipes 
       where r.RecipesID == 1 
       select r).FirstOrDefault(); 

if (recipe != null) 
{ 
    id = recipe.RecipesID; 
    name = recipe.RecipesName; 
} 
+0

您可以使用Single()或First()。不同的是,如果您的LINQ查询返回多行,则Single()将引发异常。 – 2008-10-09 23:09:19

0

对不起,误解了你的问题。正如其他人所说的,您可以使用ToList()获取List。如果你需要的是第一位的,另一种只需使用:


query.First().ColumnName 

,或者如果你想避免空单上的异常:


var obj = query.FirstOrDefault(); 
if (obj != null) 
    obj.ColumnName; 

原来的答复(这样评论品牌意义):

使用Linq to Datasets。基本上会是这样的:


var query = from r in yourTable.AsEnumerable() 
select r.Field<string>("ColumnName"); 
+0

在我的脑海里,那种连败的Linq的目的。 – roosteronacid 2008-10-09 14:20:40

2

真的不清楚你在找什么,因为你的两个样本是兼容的。

尽可能靠近我可以计算,你想要的是:

var rows = query.ToList(); 
string name = rows[0].RecipesName; 
+0

正是我想要的:) – roosteronacid 2008-10-09 14:20:05

2
string name = this._db.Recipes.Single(r => r.RecipesID == recipeID).RecipesName;