【发布时间】:2015-04-03 12:25:16
【问题描述】:
我正在使用存储库模式和 EF6。我需要做的是调用一个 SP,删除映射表的记录,这些记录在我调用 SP 的存储库中没有任何共同点。
我试过了
this.dbSet.SqlQuery("exec mySP @Param1, @Param2", param1, param2);
但这会从我所在的当前存储库的数据库中返回所有记录。这就像我写了“SELECT * FROM Group”(如果我在 GroupRepository 中)。 我的 SP 没有返回任何内容,因为它正在删除一些记录,而且我已经浪费了 2 天的时间来搜索如何调用 SP。如果需要,我可以提供更多信息。 有人可以帮忙吗?
【问题讨论】:
-
用提供的代码很难回答;无论如何假设
this是一个EF DataContext,你应该试试this.Database.ExecuteSqlCommand("exec mySP @p0, @p1", param1, param2); -
谢谢!就是 this.Context.Database.SqlQuery(...)。
标签: entity-framework stored-procedures repository-pattern