C# Linq选择图像已删除!=真的
我想选择C# Linq选择图像已删除!=真的,c#,linq,C#,Linq,我想选择已删除的图像!=正确。 我有LINQ中的代码,有些东西失败了,因为我得到了所有的图像 Wine wine = ( from w in db.Wine join img in ( from i in db.ImageWine where i.isDeleted != true select i) on w.idWine equals img.idWine where w.idWine == id se
已删除的图像!=正确
。
我有LINQ中的代码,有些东西失败了,因为我得到了所有的图像
Wine wine = (
from w in db.Wine
join img in (
from i in db.ImageWine
where i.isDeleted != true
select i)
on w.idWine equals img.idWine
where w.idWine == id
select w
).SingleOrDefault();
cshtml
@foreach (var item in Model.ImageWine)
{
<tr>
<td class="text-center" id="IDProfile"><span>@Html.DisplayFor(m => item.idImageWine)</span></td>
<td id="Name"><span>@Html.DisplayFor(m => item.Image.urlImage)</span></td>
<td id="Image"><img src="@Url.Content("~/Images/"+ item.Image.urlImage)" class="img-thumbnail" width="200" height="150"/></td>
<td class="td-actions text-right" id="Actions">
<a class="btn btn-simple btn-danger btn-icon table-action remove" id="Delete" href="javascript:;" rel="tooltip" title="" data-original-title="Remove">
<i class="fa fa-remove"></i>
</a>
</td>
</tr>
}
@foreach(Model.ImageWine中的变量项)
{
@DisplayFor(m=>item.idImageWine)
@DisplayFor(m=>item.Image.urlImage)
}
我正在使用asp.net mvc razor。我想我知道会发生什么: 如果您将葡萄酒作为模型传递给视图,并且您有一个导航属性,允许您获取给定葡萄酒的所有图像,如:
wine.ImageWine
然后你的linq查询不会做任何你想做的事情,因为它不会过滤图像。只有当它至少有一个没有被删除的图像时,它才会给你酒
然后,在您看来,您可以执行以下操作:
@foreach (var item in Model.ImageWine)
{
if(!item.isDeleted){
<tr>
<td class="text-center" id="IDProfile"><span>@Html.DisplayFor(m => item.idImageWine)</span></td>
<td id="Name"><span>@Html.DisplayFor(m => item.Image.urlImage)</span></td>
<td id="Image"><img src="@Url.Content("~/Images/"+ item.Image.urlImage)" class="img-thumbnail" width="200" height="150"/></td>
<td class="td-actions text-right" id="Actions">
<a class="btn btn-simple btn-danger btn-icon table-action remove" id="Delete" href="javascript:;" rel="tooltip" title="" data-original-title="Remove">
<i class="fa fa-remove"></i>
</a>
</td>
</tr>
}
}
@foreach(Model.ImageWine中的变量项)
{
如果(!item.isDeleted){
@DisplayFor(m=>item.idImageWine)
@DisplayFor(m=>item.Image.urlImage)
}
}
您收到的错误是什么?你期望它会有什么样的反应?你实际上得到了什么样的反应?每种葡萄酒有几张图片?您使用EntityFramework吗?Wine
中是否有导航属性允许您执行类似于Wine.Images.FirstOrDefault(i=>!i.isDeleted)
?你能给我们看看模型部分吗?如果这是MVC,您也可以显示控制器的操作吗?另外,请修复您的cshtmlI的缩进。我始终获取所有图像,删除的图像=true或false。当您仅选择葡萄酒时,如何获取ImageWine?是的,我每个葡萄酒有一个以上的图像,我有两个表图像和葡萄酒图像。是的,我正在使用实体框架。我也这么认为,但我认为LINQ可以为我做这项工作。感谢您的回答。您可以使用linq获得与所选葡萄酒对应的所有未删除的图像,然后您的模型将是ImageWine
的列表,而不是wine
,因此您可以执行@foreach(模型中的var项)
。但这只是在你不需要葡萄酒的其他特性的情况下。