-1

私はlinqをまったく知りません。すべてのバックエンド作業を担当する担当者は 2 週間不在ですが、「term」に基づいてgetItemListをフィルタリングするだけで済みます。「where」句を追加する方法を探してみましたが、運がありません。

getItemListパラメータに「string term」を追加したことに注意してください。

助けてください。

public IndexedItem getItem(string name) {
    var repo = new Project.SQLServerDataManager.IndexItemRepository(ConfigurationManager.ConnectionStrings["ItemRepositoryConnstring"].ConnectionString);
    return repo.getItem(name);
}

public object getItemList(string term) {
    var repo = getRepo();
    return from i in repo.getItem() 
        select new { name = i.name, itemType = i.itemType.name };
}

private IIndexedItemReadOnlyRepository getRepo() { 
    return new Project.SQLServerDataManager.IndexItemRepository(ConfigurationManager.ConnectionStrings["ItemRepositoryConnstring"].ConnectionString);
}

明確にするために編集します。「用語」は検索用語です。アイテム「名前」と一致する必要があります

4

4 に答える 4

0

次の 2 つの方法で "where" を使用してフィルター処理できます。

それをコードに追加します。

return from i in repo.getItem() 
       where i.Name == "Test Value"
       select new { name = i.name, itemType = i.itemType.name };

または:

return repo.getItem().Where(item => item.Name == "Test Value").Select(item => new { name = i.name, itemType = i.itemType.name });

どこで見つけたのかわかりませんが、LINQ リファレンス用にこれをブックマークしました。LINQ の基本と関数の使用方法について説明しています: http://www.dotnetperls.com/linq

于 2013-06-05T19:04:17.353 に答える