如何使用存储过程首先创建asp.net MVC数据库?

时间:2016-12-19 19:10:04

标签: asp.net-mvc entity-framework stored-procedures ef-database-first

我有一个Oracle数据库,其中包含一些没有外键或主键的表。我将创建一些存储过程来处理与这些表的交互,获取一些参数并返回一些值。

我想使用EF创建一个asp.net MVC应用程序,并仅使用存储过程处理此数据库。我不想将任何表作为实体或任何东西带到应用程序。

我一直在谷歌搜索,但我能找到的只是表(实体)本身在EDM中的示例,并且存储过程被添加到它们中以进行交互。

EX:

creator

是否可以让EF只处理存储过程并为我提供基于这些存储过程的模型?如果是的话,请指导我找到合适的材料吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以直接在dbContext上使用ExecuteStoreQueryList或等效项,创建返回的dto模型结果。 样本:

using (var ctx = DataContext())
{
    return ctx.ExecuteStoreQueryList<MyModel>(
        "EXEC dbo.[xxx] @xxx, @xxx, @xxx, @poleID, @xxx",
        new SqlParameter("xxx", xxx),
        new SqlParameter("xxx", xxx),
        new SqlParameter("xxx", (object)xxx?? DBNull.Value),
        new SqlParameter("xxx", (object)xxx?? DBNull.Value),
        new SqlParameter("xxx", (object)xxx?? DBNull.Value)
    );
}