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*/)

リストを取得します。

さらに複雑にするもう 1 つの問題: ストアド プロシージャとエンティティはレガシー コードであり、別のプロジェクトで使用されるため、変更できません。

事件を解決するチャンスはありますか?

4

1 に答える 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 に答える