如何解决LINQ在ASP.NET MVC3中自行加入
| 我遇到需要在LINQ的表上进行自我联接的情况。该表包含字段ItemsID,Title,SeriesTitle和许多其他字段。一个项目可以是系列,也可以是成员,我可以通过查看上面带有\“ S \”或\“ M \”字母的ItemId来分辨。我需要使用ItemId \“ S117 \”检索属于系列成员的所有记录。我可以通过以下代码在简单的SQL中执行此操作,select i.Series_Title,i.Item_ID,i2.Item_ID as Member_ID,i2.Title as Member_Title,i2.Series_Title as Member_Series_Title
from Items i join Items i2 on i.Series_Title = i2.Series_Title
where i.Item_ID = \"S117\"
现在,我将查询翻译成LINQ
items = _dataContext.Items.AsQueryable();
items = from series in items
join members in items on series.Series_Title.ToLower()
equals members.Series_Title.ToLower()
where series.Item_ID.ToLower().Equals(itemId)
select series;
查询select series
的最后一行将仅检索系列,而不检索成员,我也需要成员。
我正在使用MVC3剃刀视图,在这里我必须显示几乎所有字段,所以我没有使用select new {....}
即使我尝试使用select new {series,members}
,我也遇到了这个例外-
无法隐式转换类型
\'System.Linq.IQueryable \'
到\'System.LinQ.IQueryable 解决方法
尝试这个:
var items1 = _dataContext.Items.AsQueryable();
var items2 = from series in items1
join members in items1 on series.Series_Title
equals members.Series_Title
where series.Item_ID== \'S117\'
select series;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。