从存储过程创建Entity Framework对象

6
当使用Entity Framework 4时,如何从存储过程中创建一个单个实体?

1
我已经添加了我的答案,但可能有误解。你想使用存储过程从数据库中检索实体,还是创建一个新实体并使用存储过程将其保存到数据库中? - Jeff Ogata
是的,最重要的是我不希望实体在存储过程之外访问表。 - Achilles
通常,我会针对每个相关的表创建一个视图(例如仅显示“有效”或“未删除”的条目),并使用存储过程在这些实体上执行INSERT、UPDATE、DELETE操作(仅逻辑 - 仅标记为删除)。在EF4中得到了很好的支持。 - marc_s
1个回答

3

将存储过程添加到模型后,从“模型浏览器”中,在“存储”节点下右键单击存储过程,选择“添加函数导入”。在该对话框中,指定要创建的实体:

alt text

然后可以像这样使用该存储过程:

Artist a = ctx.SelectArtist(id).SingleOrDefault();

编辑

根据评论中的内容,您想使用存储过程来执行插入、更新和删除操作。如果在模型浏览器中右键单击实体并选择“存储过程映射”,则会弹出一个窗口,让您指定要使用哪些存储过程。MSDN上有一篇关于如何执行此操作的演练

希望对您有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接