假設我物化數據有一個實體:EF6:使用自定義類型
public class Event
{
...
public DateTime At { get; set; }
}
除了作爲一個模型對象:
public class Something
{
...
public Date At { get; set; }
}
其中日期是可以由一個隱式轉換的自定義類型日期時間:
public struct Date
{
public Date(DateTime value)
{
...
}
...
public static implicit operator Date(DateTime value)
{
return new Date(value);
}
}
我試圖做的是從數據庫中的數據提取到模型:
var events = db.Events
.Select(x => new Something
{
...
At = x.At,
})
.ToList();
當然這與以下異常失敗:
無法轉換類型「System.DateTime的」輸入「SMG.Web.Date」。 LINQ to Entities僅支持投射EDM基元或枚舉類型。
是的,我知道我可以通過一些臨時對象的幫助實現我需要的東西,將DateTime值實現到內存中,然後將其轉換爲我的自定義類型。但是如果我不想使用這種策略,並且想要一步完成這一操作,該怎麼辦?
問題是:有沒有辦法教LINQ to Entities如何在現實的一面處理我的自定義日期?
在「選擇(...)」之前執行'ToList()' – DavidG
您是否真的讀過它? – drty
是的,這就是我評論而不是回答的原因。 – DavidG