繁体   English   中英

简单的LINQ Select语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM