[英]How to check in a variable contains a specific string c#?
我有一个变量,查询数据库后它会返回一组行。 每行都有一个item id
加上start date
和end date
。
我正在尝试使用此变量,因此,如果来自我的应用程序的输入与这些行集中的任何行匹配,则该变量已返回以执行某些操作。
如何才能做到这一点? 目前,我的if
语句仅检查变量返回的第一行。 我需要它来检查所有行!
这是我的控制器中的代码:
var dateAvailability=from s in db.Bookings
where s.ItemId == id && s.StartDate < s.EndDate
&& s.EndDate > s.StartDate
select s;
if (ModelState.IsValid)
{
foreach (var data in dateAvailability.ToList())
{
if (booking.ItemId == id && (StartDate == data.StartDate) && (EndDate == data.EndDate))
{
ViewBag.error = "Dates already exists";
}
else
db.Bookings.Add(booking);
db.SaveChanges();
return RedirectToAction("Confirmation",
new { id = booking.BookingId });
}
}
您可以使用Any
:
bool dateExistsAlready = dateAvailability
.Any(d => booking.ItemId == id && StartDate == d.StartDate && EndDate == d.EndDate);
if(dateExistsAlready)
{
ViewBag.error = "Dates already exists";
}
else
{
// ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.