2012-11-21 61 views
2

您可以将存储过程添加到实体框架模型(Model.edmx)中吗?将存储过程添加到实体框架模型

我只是做了它在Visual Studio 2010中,像这样的(除了现在我的存储过程是关闭添加标签,并在刷新选项卡)

VS screenshot

我的存储过程是一个简单的SELECT声明,取1个参数。

VS2010似乎已将它添加到模型中,但我想知道它在哪里以及如何使用它?

我不能看到它的图也不Model.designer.cs

回答

9

你的一部分的方式出现。这是一个隐藏的过程,多步骤。您必须在您的模型中包含“存储过程”,方法是在上面显示的菜单中选择它们。

一旦你这样做,你要查看的“模型浏览器”

pic of model browser

然后在模型浏览器,找到模范店(这将有一个像“表/视图”文件夹)。右键单击您的存储过程并选择“添加函数导入”。

pic of context menu for function import

一旦你做到了这一点,你可以映射你会从你的SP背面的实体。

pic of function import dialog

然后,您将能够通过您的上下文来访问你的实体的代码,在一个强类型的方式。希望有所帮助。

+0

它确实有助于!非常感谢使用屏幕截图的清晰说明! – Aximili

1

从模型图的任何位置,单击右键,选择(从菜单或View/Other Windows/Entity Data Model Browser)模型浏览器。在Model.Store部分中,您应该看到Tables/Views,Stored Procedures/Functions和Constraints。您的存储过程将位于“存储过程/函数”部分。

检查该链接的如何使用存储过程与EF一个很好的解释:http://msdn.microsoft.com/en-us/data/gg699321.aspx

1

补了以前的答案:

如果需要,而不是一个实体,而是中庸之道创建一个复杂的类型(您可以在模型浏览器的复杂类型文件夹中创建它),它如果您在返回数据对象没有按关联到您的存储过程“T搭配你的数据库,例如表:

http://img46.imageshack.us/img46/9168/j4ax.jpg