1


0

SQLへのリンク:DataTable.Rows [0] ["ColumnName"]と同等

このことを考慮:

var query = from r in this._db.Recipes
            where r.RecipesID == recipeID
            select new { r.RecipesID, r.RecipesName };

forループを使わずに `query`オブジェクトの個々のカラムを取得するにはどうすればいいですか?

基本的に、どうすれば `DataTable.Rows [0] [" ColumnName "]`をLinqの構文に変換できますか?

4 Answer


2


あなたの2つのサンプルは互換性があるので、あなたが探しているものは本当に不明です。

私が理解できる限り近い、あなたが望むものは以下のとおりです。

var rows = query.ToList();文字列名=行数[0] .RecipesName;


2


文字列名= this._db.Recipes.Single(r => r.RecipesID == recipeID).RecipesName;


1


これはそれについて取り組む方法です:

DataContext dc = new DataContext();

var recipe =(dc.Recipesのrからr.RecipesID == 1 rを選択).FirstOrDefault();

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


0


すみません、あなたの質問を誤解しました。 他の人が言っているように、ToList()を使ってListを取り戻すことができます。 あなたが必要とするすべてが最初のものであるならば、代替手段はただ使用します:

query.First()。ColumnName

空のリストで例外を避けたい場合は、

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

'' '' '

元の回答(コメントは意味があります):

http://blogs.msdn.com/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx[Linq to Datasets]を使用してください。 基本的には次のようになります。
var query = yourTable.AsEnumerable()のrからfrom r.Field( "ColumnName");