2011-12-08 4 views
3

私はカスタムPOCOを持っています(私のプロジェクトで既に使用されています)。EntityFramework:複合型の代わりにカスタムPocoを返すストアドプロシージャ

public class MyPoco() 
{ 
    public string MyPocoName {get; set;} 
    public string MyPocoParentName {get; set;} 
} 

Iは、(MyPocoName、MyPocoParentName)値のリストを返すストアドプロシージャを持っています。

関数インポートウィザードで、このプロシージャの戻り値の型としてMyPocoを設定できませんでした。

MyPocoと同じ比率の新しいカスタムタイプを作成したくありません。

MyPocoになるストアドプロシージャの戻り値の型を指定する方法はありますか。

ありがとうございました。

答えて

8

はい、方法はありますが、関数のインポートは使用しないでください(モデルにストアドプロシージャを追加することは意味をなさない)。使用:

var data = objectContext.ExecuteStoreQuery<MyPoco>("spName", SqlParams); 

ストアドプロシージャを呼び出します。

1

お詫び申し上げます。私はまだコメントできません。または、これをコメントとして追加しました。 spNameの後にparamリストを追加する必要がありました。

 var results = 
      this.Context.Database.SqlQuery<MyPoco>(
       "spName @param1, @param2, @param3", 
       new SqlParameter("@param1", var1), 
       new SqlParameter("@param2", var2), 
       new SqlParameter("@param3", var3)); 
関連する問題