我有以下情况:
int列表:List<int> idsOnly = new List<int>();
和另一个对象列表,它应该使所有项目的id与列表idsOnly
var myList = db.Items.Where(item => idsOnly.Contains(item.ID.Value))
.Select(a => new { a.Title })
.ToList();
我只需要从myList中获取标题
任何帮助将不胜感激
答案 0 :(得分:12)
您的代码有效,但会创建匿名对象列表,而不是字符串类型
如果您只想获得标题,则只需使用(a => new { a.Title }
,而不是使用a => a.Title
:
var myList = db.Items.Where(item => idsOnly.Contains(item.ID.Value))
.Select(a => a.Title).ToList();
答案 1 :(得分:1)
您可以使用Join
var titlesInIdList = from item in db.Items
join id in idsOnly
on item.ID.Value equals id
select item.Title;
var list = titlesInIdList.ToList();
答案 2 :(得分:0)
var myList =
(from item in db.Items
where idsOnly.Contains(item.ID.Value)
select item.Title).ToList()
答案 3 :(得分:0)
您可以尝试(如果问题转换:转换为int您的Id,如果不是int类型)
var myList = db.Items.Where(item => (idsOnly.Contains(Convert.ToInt32(item.ID.Value)))).Select(a => a.Title ).ToList();
没有转换
var myList = db.Items.Where(item => (idsOnly.Contains(item.ID.Value))).Select(a => a.Title ).ToList();
答案 4 :(得分:0)
var Result = (from item in db.Items
join id in idsOnly
on item.ID.Value equals id
select new {item.Title}).ToList(); //Here U can return ToArray or ToList()