[英]how to use effective Enumerable.Repeat
我只想在其他代碼位置使用此查詢初始化:
var post = Enumerable.Repeat(new
{
Id = default(int),
Title = string.Empty,
Publisher = string.Empty,
ToUser = string.Empty,
PublishDate = default(DateTime?),//need to default(DateTime)
IsFile = default(bool),
CategoryName = string.Empty,
status_name = string.Empty,
Group_name = string.Empty,
FileSize = default(long?)
}, 0).ToList();
我已經宣布了一個常見的帖子查詢。 現在我只想讓PublishDate
成為default(DateTime?)
或default(DateTime)
。
我可以設置為可空,也可以不可空嗎? 初始化此查詢時,它需要不可為空的日期時間。
- - - - - - - - - - - - -更新 - - - - - - - - - - - - -
在這里,我想要可以約會的日期時間
post = db.Posts.Where(p => (p.ToUser_id.Equals(user_id) || p.ToUser_id.Equals(null)) && p.User_id != user_id).OrderByDescending(p => p.Sent_Datetime).Select(p => new
{
Id = p.Id,
Title = p.Title,
Publisher = db.Users.Where(u => u.Id.Equals(p.User_id)).Select(u => u.First_name + ' ' + u.Last_name).FirstOrDefault(),
ToUser = db.Users.Where(u => u.Id.Equals(p.ToUser_id)).Select(u => u.First_name + ' ' + u.Last_name).FirstOrDefault(),
PublishDate = p.Sent_Datetime,//nullable date time field
IsFile = p.IsFileAttached,
CategoryName = db.Categories.Where(c => c.Id.Equals(p.Category_id)).Select(c => c.Category_name).FirstOrDefault(),
status_name = db.Status.Where(s => s.Id.Equals(p.status_id)).Select(s => s.status_name).FirstOrDefault(),
Group_name = db.Groups.Where(g => g.Id.Equals(p.group_id)).Select(g => g.Group_name).FirstOrDefault(),
FileSize = p.TotalFileSize
}).FilterForColumn(ColumnName, SearchText).ToList();
在這里,我想要不可空的日期時間
post = db.Posts.Where(p => p.User_id.Equals(user_id) && p.ToUser_id.Equals(user_id) && p.Sent_Datetime.Equals(null)).OrderByDescending(p => p.Created_datetime).Select(p => new
{
Id = p.Id,
Title = p.Title,
Publisher = db.Users.Where(u => u.Id.Equals(p.User_id)).Select(u => u.First_name + ' ' + u.Last_name).FirstOrDefault(),
ToUser = db.Users.Where(u => u.Id.Equals(p.ToUser_id)).Select(u => u.First_name + ' ' + u.Last_name).FirstOrDefault(),
PublishDate = p.Created_datetime,//non-nullable date time field
IsFile = p.IsFileAttached,
CategoryName = db.Categories.Where(c => c.Id.Equals(p.Category_id)).Select(c => c.Category_name).FirstOrDefault(),
status_name = db.Status.Where(s => s.Id.Equals(p.status_id)).Select(s => s.status_name).FirstOrDefault(),
Group_name = db.Groups.Where(g => g.Id.Equals(p.group_id)).Select(g => g.Group_name).FirstOrDefault(),
FileSize = p.TotalFileSize
}).FilterForColumn(ColumnName, SearchText).ToList();
這第二個給我無法轉換隱式轉換類型...
您可以將其Nullable<DateTime>
為Nullable<DateTime>
:
PublishDate = (DateTime?)default(DateTime),
例如,具有一個匿名類型的列表:
var post = Enumerable.Repeat(new
{
Id = default(int),
Title = string.Empty,
Publisher = string.Empty,
ToUser = string.Empty,
PublishDate = (DateTime?)default(DateTime),
IsFile = default(bool),
CategoryName = string.Empty,
status_name = string.Empty,
Group_name = string.Empty,
FileSize = default(long?)
}, 1).ToList();
這里PublishDate
是01.01.0001 00:00:00
而不是null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.