C# 什么';使用带有输入参数的ObjectResult在实体框架中存储过程的正确方法是什么?(输出映射到复杂类型属性)

C# 什么';使用带有输入参数的ObjectResult在实体框架中存储过程的正确方法是什么?(输出映射到复杂类型属性),c#,wpf,stored-procedures,entity-framework-4.1,complextype,C#,Wpf,Stored Procedures,Entity Framework 4.1,Complextype,我有几个列表框,它们有一个SelectedItem属性,我打算用它作为输入参数,在Entity Framework中执行存储过程 我现在意识到,作为存储过程的结果,轻松返回实体对象的唯一希望是将存储过程(或函数导入)映射到与输出匹配的复杂类型。(利用朱莉·勒曼的帖子做出了这一决定。) 但是,我需要帮助使用ObjectResult和EntityFramework来捕获我的listbox SelectedItem属性并将它们提供给存储过程(从而输出我的复杂类型实体)。有人熟悉这个过程吗 任何帮助都将

我有几个列表框,它们有一个SelectedItem属性,我打算用它作为输入参数,在Entity Framework中执行存储过程

我现在意识到,作为存储过程的结果,轻松返回实体对象的唯一希望是将存储过程(或函数导入)映射到与输出匹配的复杂类型。(利用朱莉·勒曼的帖子做出了这一决定。)

但是,我需要帮助使用ObjectResult和EntityFramework来捕获我的listbox SelectedItem属性并将它们提供给存储过程(从而输出我的复杂类型实体)。有人熟悉这个过程吗


任何帮助都将不胜感激(包括猜测)。请让我知道是否可以更清楚。

您可以通过函数调用访问它,参数的顺序由EF决定:

using (var db = new YourEntityContext())
{
    var result = db.YourFunctionImportName(
        Convert.ToInt32(ddlWhatever1.SelectedValue),
        Convert.ToInt32(ddlWhatever2.SelectedValue));

    //Int32 used as an example, use whatever type your function import is expecting.
    //Do whatever with result.
}

非常感谢!对于如何将结果(即表)的内容转储到复杂类型实体,仍然有点困惑。你能提供更多的细节吗?我是这里的初学者。EF应该为您解决所有这些问题-如果SQL端的返回类型是
table
,在EF designer中,您应该能够将列映射到复杂类型中的属性,然后指定函数返回复杂类型的
IEnumerable
。感谢您的回答--我仍然有点不清楚结果是如何反馈到实体的。在调试答案中与示例代码等效的代码时,结果是什么类型的?它应该是“实体”或用户定义的复杂类型的
IEnumerable
。我的方法类似于:private IEnumerable GetPnsPertSquery(MyEntities MyEntities){var PnsPertSquery=MyEntities.ResturnPnSPertS(Convert.ToInt32(shapeListBox.SelectedValue),…,Convert.ToInt32(Attribute12 ListBox.SelectedValue));return pnsPerAttsQuery;我调用它时使用:IEnumerable pnsPerAttsQuery=this.GetReturnPnsPerAttsQuery(myEntities);但是我的视图是空的。