I have just created a database and done my first migration (just a simple table add). Now I want to add some stored procedures which I have just added by writing the sql an
I am using EF6 and the DbMigration class provides methods to Create/Alter/Delete stored procedures
Create a new stored procedure
public partial class MyFirstMigration : DbMigration
{
public override void Up()
{
// Create a new store procedure
CreateStoredProcedure("dbo.DequeueMessages"
// These are stored procedure parameters
, c => new{
MessageCount = c.Int()
},
// Here is the stored procedure body
@"
SET NOCOUNT ON;
SELECT TOP (@MessageCount)
*
FROM
dbo.MyTable;
");
}
public override void Down()
{
// Delete the stored procedure
DropStoredProcedure("dbo.DequeueMessages");
}
}
Modify a stored procedure
public partial class MySecondMigration : DbMigration
{
public override void Up()
{
// Modify an existing stored procedure
AlterStoredProcedure("dbo.DequeueMessages"
// These are new stored procedure parameters
, c => new{
MessageCount = c.Int(),
StatusId = c.Int()
},
// Here is the new stored procedure body
@"
SET NOCOUNT ON;
SELECT TOP (@MessageCount)
*
FROM
dbo.MyTable
WHERE
StatusId = @StatusId;
");
}
public override void Down()
{
// Rollback to the previous stored procedure
// Modify an existing stored procedure
AlterStoredProcedure("dbo.DequeueMessages"
// These are old stored procedure parameters
, c => new{
MessageCount = c.Int()
},
// Here is the old stored procedure body
@"
SET NOCOUNT ON;
SELECT TOP (@MessageCount)
*
FROM
dbo.MyTable;
");
}
}