0

IDのリストをコンマ区切りの文字列(StateID)としてメソッドに渡します。このメソッドでは、StateIDの分割をCounty.StateIDに内部結合することにより、CountyIDをStateIDでフィルタリングします。

構文が正しくないようです。これを理解するのに助けていただければ幸いです。

public IQueryable<County> GetCounty(string StateIDs = null)
{
    var county = _repo.GetCounties();
    if (!string.IsNullOrEmpty(StateIDs))
    {
        county = county.Join(StateIDs.Split(',').ToList(), x => x.StateID, y => Convert.ToInt32(y), (x, y) => x).ToList();
    }
    return county;
}

ありがとうございました。

4

1 に答える 1

2

あなたが必要です

public IQueryable<County> GetCounty(string StateIDs = null)
{
    var county = _repo.GetCounties();

    if (!string.IsNullOrEmpty(StateIDs))
    {
        // the ids as a list of integer
        var ids = StateIds.Split(',').Select(s => int.Parse(s));

        // use .Contains
        county = county.Where(c => ids.Contains(c.StateID));
    }

    return county;
}
于 2013-03-05T17:57:21.753 に答える