0

所以,我对 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*/)

获取列表。

另一个使它变得更复杂的问题:存储过程和实体是遗留代码,用于不同的项目,因此无法更改。

我有机会破案吗?

4

1 回答 1

1

一种方法是定义另一个类来检索结果:

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
    });
于 2012-08-15T07:38:48.050 回答