簡體   English   中英

實體框架-在執行存儲過程中將字符串強制轉換為日期時間失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM