0

我将 ID 列表作为逗号分隔字符串 (StateIDs) 传递给方法。在该方法中,我想通过将 StateID 的拆分内部连接到 County.StateID 来按 StateID 过滤 CountyID。

我似乎无法使语法正确,并希望能得到一些帮助来解决这个问题。

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 回答