我有一个Oracle数据库,其中包含一些没有外键或主键的表。我将创建一些存储过程来处理与这些表的交互,获取一些参数并返回一些值。
我想使用EF创建一个asp.net MVC应用程序,并仅使用存储过程处理此数据库。我不想将任何表作为实体或任何东西带到应用程序。
我一直在谷歌搜索,但我能找到的只是表(实体)本身在EDM中的示例,并且存储过程被添加到它们中以进行交互。
EX:
是否可以让EF只处理存储过程并为我提供基于这些存储过程的模型?如果是的话,请指导我找到合适的材料吗?
谢谢,
答案 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)
);
}