0

我使用函數import將一個存儲過程(請參閱my previous question w/proc code)附加到我的實體框架模型中,選擇「Scalars:DateTime」以獲取DateTimes的集合作爲返回類型。我打電話到我的倉庫中:ObjectResult <Nullable <DateTime>> to IEnumerable <DateTime>?

return _DataContext.GetPubsDistinctMonthYears(pubType, pubId).AsEnumerable(); 

我需要存儲庫方法來返回IEnumerable;但是,該函數返回ObjectResult<Nullable<DateTime>(其中包含正確的DateTime值),如果將其轉換爲IEnumerable,則結果爲空。

「平安投」不工作之一:

return _DataContext.GetPubsDistinctMonthYears(pubType, pubId) as IEnumerable<DateTIme>; 

問題
所以我需要什麼/無論是在存儲過程和存儲庫來讓我的IEnumerable做要麼?

+0

請編輯你的問題更實際的代碼 - ''返回='永遠不會有效。 – 2011-05-23 09:39:15

回答

1

看起來你只是想是這樣的:

return _DataContext.GetPubsDistinctMonthYears(pubType, pubId) 
        .Select(x => x.Value); 

,如果有任何空值,雖然這會爆炸。要忽略空值,你可以使用:

return _DataContext.GetPubsDistinctMonthYears(pubType, pubId) 
        .Where(x => x.HasValue) 
        .Select(x => x.Value); 
+0

。其中(x => x.HasValue)是票據。但請注意:我仍然需要AsEnumerable(); – Faust 2011-05-23 10:07:09

+0

@Faust:如果'GetPubsDistinctMonthYears'返回'ObjectResult ',你不應該需要'AsEnumerable',因爲它實現了'IEnumerable '。當你沒有調用AsEnumerable時出了什麼問題? – 2011-05-23 10:14:19

+0

我認爲你是對的。我必須經過錯誤測試。 – Faust 2011-05-23 10:16:52

相關問題