EF 6.1.3中的存储过程

时间:2015-10-19 11:50:27

标签: c# entity-framework tsql stored-procedures ef-code-first

我是Entity Framework的新手并遇到了问题。 我在DB(在SMMS中)创建了一个存储过程,并且从.NET启动工作正常。

但是,如果擦除数据库(如种子方法填充数据),我希望EF将SP提供给数据库。此外,我希望我的SP在顶点控制中与我的其余代码库一起使用。 那么,如何以一种使用DB创建的方式将SP添加到我的项目中,我想它就像迁移一样,但没有直接连接到模型类。

是否可以生成“空”迁移,然后根据我的需要进行修改?用up和down方法创建和删除SP?

1 个答案:

答案 0 :(得分:1)

是的,可以生成空迁移,然后根据需要进行修改。在包管理器Add-Migration "AddMyStoredProcedure"

然后在你的Up方法中:

Sql(@"EXECUTE('CREATE PROCEDURE MyStoredProcedure...etc ");

在你的Down方法中:

Sql(@"EXECUTE('DROP PROCEDURE MyStoredProcedure')");

我倾向于使用Sql方法,但您可能更喜欢DbMigration类中的CreateStoredProcedureDropStoredProcedure方法