2011-12-08 85 views
3

我有一個自定義POCO(已經存在並在我的項目中使用)。EntityFramework:存儲返回自定義Poco而不是複雜類型的過程

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

我也有一個返回(MyPocoName,MyPocoParentName)值的列表的存儲過程。

我無法在函數導入嚮導中將MyPoco設置爲此過程的返回類型。

我不想創建一個與MyPoco具有相同比例的新自定義類型。

有什麼辦法可以指定存儲過程的返回類型爲MyPoco。

謝謝。

回答

8

是的,有一種方法,但你不能使用函數導入(在這種情況下添加存儲過程到你的模型沒有意義)。使用:

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

來調用你的存儲過程。

1

道歉提前,我還沒有評論,或者我會添加此作爲評論。 我不得不在spName後添加參數列表:

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