C# 已从列表中获取值,并希望获取将列表作为属性的项的id
我的问题是:C# 已从列表中获取值,并希望获取将列表作为属性的项的id,c#,asp.net,asp.net-mvc,linq,C#,Asp.net,Asp.net Mvc,Linq,我的问题是: public ActionResult DeleteImage(string imagepath) { int tourid = db.Tours.Where(x => x.Images.Where(y => y.Path == imagepath)); ... 我有一张图片列表。图像有路径。我的控制器知道文件的路径,但我需要巡更的id。用foreach很容易,但我想用linq解决这个问题 谢谢 编辑: Foreach解决方案: int tourid; fo
public ActionResult DeleteImage(string imagepath)
{
int tourid = db.Tours.Where(x => x.Images.Where(y => y.Path == imagepath));
...
我有一张图片列表。图像有路径。我的控制器知道文件的路径,但我需要巡更的id。用foreach很容易,但我想用linq解决这个问题
谢谢编辑: Foreach解决方案:
int tourid;
foreach (var tour in db.Tours.ToList())
{
foreach (var image in tour.Images)
{
if (image.Path == imagepath)
{
tourid = tour.TourID;
}
}
}
您可以使用
First或default
或First
和Any
int tourId = db.Tours.First(tour => tour.Images.Any(img => img.Path == imagepath)).Id;
如果巡更不存在,这将引发异常。以下内容将不适用
int tourId = -1;
var tour = db.Tours.
FirstOrDefault(tour => tour.Images.Any(img => img.Path == imagepath));
if (tour != null)
{
tourId = tour.Id;
}
这基本上转化为
“在tours中,找到图像的路径的第一个
,其中任何
等于图像路径
”
关于Linq
有很多教程。我建议你调查一下 您可以使用First或default
或First
和Any
int tourId = db.Tours.First(tour => tour.Images.Any(img => img.Path == imagepath)).Id;
如果巡更不存在,这将引发异常。
以下内容将不适用
int tourId = -1;
var tour = db.Tours.
FirstOrDefault(tour => tour.Images.Any(img => img.Path == imagepath));
if (tour != null)
{
tourId = tour.Id;
}
这基本上转化为
“在tours中,找到图像的路径的第一个
,其中任何
等于图像路径
”
关于Linq
有很多教程。我建议你调查一下 您可以使用First或default
或First
和Any
int tourId = db.Tours.First(tour => tour.Images.Any(img => img.Path == imagepath)).Id;
如果巡更不存在,这将引发异常。
以下内容将不适用
int tourId = -1;
var tour = db.Tours.
FirstOrDefault(tour => tour.Images.Any(img => img.Path == imagepath));
if (tour != null)
{
tourId = tour.Id;
}
这基本上转化为
“在tours中,找到图像的路径的第一个
,其中任何
等于图像路径
”
关于Linq
有很多教程。我建议你调查一下 您可以使用First或default
或First
和Any
int tourId = db.Tours.First(tour => tour.Images.Any(img => img.Path == imagepath)).Id;
如果巡更不存在,这将引发异常。
以下内容将不适用
int tourId = -1;
var tour = db.Tours.
FirstOrDefault(tour => tour.Images.Any(img => img.Path == imagepath));
if (tour != null)
{
tourId = tour.Id;
}
这基本上转化为
“在tours中,找到图像的路径的第一个
,其中任何
等于图像路径
”
关于Linq
有很多教程。我建议你调查一下 很好,好像有用。谢谢。你能告诉我如何在这里张贴代码块吗?看来我太笨了,不能在这里做代码块。太棒了!请注明答案!代码块?使用四个空格。然后编写代码,或者在编辑器中突出显示代码并单击{}
图标。我建议你也看看这个链接:谢谢。我不经常在这里发帖。但现在我知道了如何正确地发布代码;)而且这些教程也帮不上忙。我从java切换到c#。你在用resharper?我想我们学习的方式都不一样。学习的一部分不是理解,记住这一点。我现在不使用ReSharper。我不是大四学生,还有很多东西要学。我更多的是在客户端。与linq合作约3年。但你是对的,我们的学习方式不同。我似乎在学习linq的东西有点慢;)很好,好像有用。谢谢。你能告诉我如何在这里张贴代码块吗?看来我太笨了,不能在这里做代码块。太棒了!请注明答案!代码块?使用四个空格。然后编写代码,或者在编辑器中突出显示代码并单击{}
图标。我建议你也看看这个链接:谢谢。我不经常在这里发帖。但现在我知道了如何正确地发布代码;)而且这些教程也帮不上忙。我从java切换到c#。你在用resharper?我想我们学习的方式都不一样。学习的一部分不是理解,记住这一点。我现在不使用ReSharper。我不是大四学生,还有很多东西要学。我更多的是在客户端。与linq合作约3年。但你是对的,我们的学习方式不同。我似乎在学习linq的东西有点慢;)很好,好像有用。谢谢。你能告诉我如何在这里张贴代码块吗?看来我太笨了,不能在这里做代码块。太棒了!请注明答案!代码块?使用四个空格。然后编写代码,或者在编辑器中突出显示代码并单击{}
图标。我建议你也看看这个链接:谢谢。我不经常在这里发帖。但现在我知道了如何正确地发布代码;)而且这些教程也帮不上忙。我从java切换到c#。你在用resharper?我想我们学习的方式都不一样。学习的一部分不是理解,记住这一点。我现在不使用ReSharper。我不是大四学生,还有很多东西要学。我更多的是在客户端。与linq合作约3年。但你是对的,我们的学习方式不同。我似乎在学习linq的东西有点慢;)很好,好像有用。谢谢。你能告诉我如何在这里张贴代码块吗?看来我太笨了,不能在这里做代码块。太棒了!请注明答案!代码块?使用四个空格。然后编写代码,或者在编辑器中突出显示代码并单击{}
图标。我建议你也看看这个链接:谢谢。我不经常在这里发帖。但现在我知道了如何正确地发布代码;)而且这些教程也帮不上忙。我从java切换到c#。你在用resharper?我想我们学习的方式都不一样。学习的一部分不是理解,记住这一点。我现在不使用ReSharper。我不是大四学生,还有很多东西要学。我更多的是在客户端。与linq合作约3年。但你是对的,我们的学习方式不同。我似乎在学习linq的东西有点慢;)