实体框架代码首先和存储过程

时间:2013-09-27 15:17:54

标签: entity-framework

我提前道歉,因为我觉得这个问题的答案就在那里,但我不能正确地说出我的问题,所以我没有太多回复。

无论如何 - 我有一个项目,我主要有一个新的数据架构,除了字面上几个表。我想先使用EF代码。所以我的问题是 - 是否可以首先在大多数项目中使用代码,除了我的几个类,我可以定义存储过程来追踪已经存在的表?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以访问ObjectContext实例的DbContext属性,以执行如下存储过程:

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

但是,即使表存在,您只需要与表匹配的类 - CodeFirst并不意味着代码必须首先存在。只要您的类与表结构和名称匹配(或者您使用流畅的api或注释使它们匹配),您就可以了。除非存储过程正在做一些在EF中很难做到的特殊事情,否则我会坚持使用EF。