2

これは私のコントローラーにあり、ドロップダウンリストにアイテムを入力しようとしています。アクティブなアイテムに基づいて既に入力していますが、以前に選択されていたアイテムが現在非アクティブであっても追加したいと考えています。アクティブなアイテムを取得するために Where 句をチェックインしたかったのですが、以前に選択したパーティー タイプの ID をリストのパーティー タイプ Id に取得するために「or」を追加したいと考えています。

viewModel.AvailablePartyTypes =
            _partyTypeRepository.FindAll().OrderBy(o => o.Description).Where(a => a.IsActive).ToSelectList(
                "PartyTypeId", "Description", viewModel.PartyTypeId.ToString());

これは私が取得しようとしているものです:

Where(a=>a.IsActive || selected.PartyTypeId == PartyTypeId)
4

2 に答える 2

3

たぶん私は何かを見落としていますが、それは次のように単純ではありません:

Where(a=>a.IsActive || selected.PartyTypeId == a.PartyTypeId)

編集:

複雑な場合は、次のようなメソッド呼び出しにリファクタリングします。

Where(a=> UseItem(a))

private static bool UseItem(object a)
    {
        bool result = a.IsActive;
        //etc
        return result;
    }
于 2012-04-24T14:20:25.937 に答える
0

なぜ私の答えが削除されたのかよくわかりません。他の人が助けてくれたとしても、私が答えを得て形成した方法は、助けた人から実際に生み出されたものではありません. 質問への元の投稿にすでに投稿していました。

于 2012-04-26T19:10:35.917 に答える