[英]How to represent t-sql convert(datetime,data,style) in L2E query?
如何在Linq to Entities中編寫此查詢:
select convert(datetime,data,103) from Audit where ActionId = 1
列數據是varchar(max)類型。 我知道,如果ActionId連續等於1,則該行的Data列將始終包含一個以dd / MM / yyyy格式表示日期的字符串。
更新 :
我需要將L2E查詢的結果返回為IQueryable,因為在它之上應用了分頁/排序。 這是另一個原因,為什么我希望將此字段作為DateTime
返回-能夠對其進行排序。
在客戶端而不是在服務器上進行格式化會更容易嗎?
我會做這樣的事情:
var audits = db.Audit
.Where(arg => arg.ActionId == 1)
.Select(arg => new { arg.Data })
.AsEnumerable()
.Select(arg => DateTime.ParseExact(arg.Data, "dd/MM/yyyy", CultureInfo.InvariantCulture)
.ToList();
數據將以字符串格式檢索。
檢索到字符串后,它們將被轉換為DateTime
。
我發現了這一點: 在EF 4.0中將字符串轉換為Int ,如果我們創建一個將字符串轉換為日期時間的函數,則看起來像這樣的技巧可能有所幫助。
更新此問題對我來說還沒有解決。 由於需要快速解決方案,因此將“數據”列轉換為日期時間類型。 對於將來的擴展,這不是通用的,但現在可以使用。 解決方案之一不是真正的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.