Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq选择图像已删除!=真的_C#_Linq - Fatal编程技术网

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项)
。但这只是在你不需要葡萄酒的其他特性的情况下。