[英]Entity Framework - failed cast string to datetime on exec stored procedure
因此,我對EF真的很陌生,這個問題對我來說有點復雜。
這是我的存儲過程返回的數據:
[Date] [Name]
8/31/2012 John Doe
8/12/2011 John Meyer
我的實體是:
public class UserEntity
{
public DateTime Date {get; set;}
public string Name {get; set;}
}
當我將Date
更改為string
它工作正常。
我用了
Database.SqlQuery<UserEntity>("exec sp_name", /*params*/)
獲取列表。
另一個使問題變得更加復雜的問題:存儲過程和實體是遺留代碼,用在不同的項目中,因此無法更改。
我有機會解決此案嗎?
一種方法是定義另一個類以檢索結果:
public class Result
{
public string Date {get; set;}
public string Name {get; set;}
}
然后將其轉換為UserEntity
:
var users = Database.SqlQuery<Result>("exec sp_name", /*params*/)
.Select(x=> new UserEntity
{
Date = DateTime.Parse(x.Date),
Name = x.Name
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.