如何构建我的EF模型,使它们基于存储过程选择

时间:2012-11-07 08:38:26

标签: sql-server entity-framework stored-procedures

说实话,我是EF的新手,有点迷失。 我有一个现有的数据库,一切都通过存储过程。甚至选择都是存储过程。 我的模型需要使用它,但我不知道如何开始。 我假设我真的可以使用自动生成,如果对象是基于存储过程输出,而不是表。

我尝试使用谷歌搜索,但说实话,我认为我不知道该找什么。

如果我创建一个空的实体框架模型,并自己构建所有对象,我可以通过执行存储过程而不是直接映射到表来以某种方式获取数据吗?

我该怎么做? 我需要阅读的任何文章?我的搜索似乎总是以花哨的自动生成文章结束,这似乎不适用于我的情况。

我知道这是一个广泛的问题,但我有点迷失在这里。非常感谢任何帮助。

修改

所以,我已经了解到我可以根据存储的选择创建复杂类型。但是,我真的没有办法将更新/插入/删除程序映射到此。我真的不明白如何将实体类型和复杂类型链接在一起,如果可能的话甚至可以这样做。

2 个答案:

答案 0 :(得分:0)

您可以使用函数导入来映射存储过程 - 将其返回类型声明为实体的集合,然后使用ExecuteFunction

例如:

context.ExecuteFunction<YourEntity>("YourSelectStoredProcedure")

答案 1 :(得分:0)

to start with create entity model (.dbmx file) from existing DB, which will include your existing stored procedure from your DB

after which u can go to entity model and check the Tab model browser, under stored procedures u can select the required SP, and also specify the type of data it will return 

check these links 

http://channel9.msdn.com/Blogs/wriju/Using-Stored-Procedure-in-ADONET-Entity-Framework-40

http://msdn.microsoft.com/en-us/data/gg699321.aspx