[英]Simple LINQ Select Statement
我在使用LINQ select语句时遇到基本困难。
我想要的很简单:我有一个ID。 我使用该ID从表中获取某些值。 它确实有效,但有一点曲折...
这是代码:
var myDate = dbContext.tbl_mytable.Where(i => i.myID == item.myID)
.Select(i => new {Name = i.KeySourceDate});
我期待在myDate中使用DateTime
。 该图显示了我得到的。
我知道name = thedate的最终值,因为它在select语句中。
最后,我需要的只是一个日期格式为.ToString(“ dd / MM / yyyy”)的日期,而不是整个对象,或任何来自LINQ的日期。
您正在检索具有ID的行的列表,但是您想要的只是一个日期时间。 有多种方法可以执行此操作,具体取决于您希望在具有该ID的多行或者没有找到具有该ID的行的情况下要发生的情况,但这是一种这样的方式:
var myDate = dbContext.tbl_mytable.First(i => i.myID == item.myID).KeySourceDate;
您可以先评估Id
存在,然后再尝试获取结果。 但基本上,您可以使用以下方法获取日期:
DateTime? myDate;
var record = dbContext.tbl_mytable.FirstOrDefault(i => i.myID == item.myID);
if (record != null){
myDate = record.KeySourceDate
}
当然,当您通过Linq请求日期字段时,将获得DateTime对象。 您要做的就是在分配值时使用格式化程序字符串作为参数调用toString()方法,例如:...
new { Name = i.KeySourceDate.toString("dd/MM/yyyy") }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.