2013-09-27 51 views
0

我提前道歉,因为我觉得这个问题的答案在那里,但我无法正确地说出我的查询,所以我没有多少回头。无论如何 - 我有一个项目,除了几个表格之外,我主要有一个新的数据架构。我想先使用EF代码。所以我的问题是 - 是否有可能首先在大多数项目中使用代码,除了几个类,我可以定义存储过程以在已存在的表之后进行?实体框架代码优先和存储过程

谢谢

+0

是的,你仍然可以通过你的EF上下文执行SP。 SO上有很多例子。示例:http://stackoverflow.com/questions/14243946/code-first-entity-framework-w-stored-procedure-returning-results-from-complex-f 和 http://blogs.msdn.com/ b/wriju /存档/ 2011/05/14 /代码优先-4-1-使用-存储过程到嵌件data.aspx – mservidio

回答

0

您可以访问以执行存储过程,像这样你DbContext实例的ObjectContext属性:

((IObjectContextAdapter)myDbContext).Objectcontext.ExecuteStoreQuery<ResponseType>(
    "EXEC MyStoredProc @Value1, @Value2", 
    new SqlParameter("@Value1", value1), 
    new SqlParameter("@Value2", value2) 
) 

然而,即使表存在,所有你需要的是类与表匹配 - CodeFirst并不意味着代码必须先存在。只要你的类匹配表结构和名称(或者你使用流利的api或注释使它们匹配),你会没事的。除非存储过程正在做一些EF中难以做到的特殊操作,否则我会坚持使用EF。

相关问题