这开始在我的头脑中......
我的数据库中有两个表:
public string id { get; set; }
public int assigned_to { get; set; }
...
public virtual Users Users { get; set; }
public int id { get; set; }
public string email { get; set; }
...
public virtual Tickets Tickets { get; set; }
我正在尝试将这些表连接在一起以返回票证表的IEnumerable<>
,其中每张票证都有相应的用户。这两个表由Tickets.assigned_to = Users.id
到目前为止,我已经尝试了两种方法:
var query = from t in _context.Tickets
join u in _context.Users on t.assigned_to equals u.id
select (new {t, u});
return query.ToList();
和
IEnumerable<Tickets> query = from t in _context.Tickets
join u in _context.Users on t.assigned_to equals u.id
select (new {t, u});
return query.ToList();
但两个都给我错误:
Cannot implicitly convert type 'System.Linq.IQueryable<<anonymous type: DataWire.Models.Tickets t, DataWire.Models.Users u>>' to 'System.Collections.Generic.IEnumerable<DataWire.Models.Tickets>'. An explicit conversion exists (are you missing a cast?)
注意:这是针对ASP.NET Web API的,我试图从我的存储库返回一个Tickets列表。
答案 0 :(得分:0)
不要返回一个新的{t,u},因为这是一个包含Tickets和User的匿名类型 - 而不是只有Ticket的IEnumerable。你想要:
IEnumerable<Tickets> query = from t in _context.Tickets
join u in _context.Users on t.assigned_to equals u.id
select (t);
return query.ToList();