using WeApp.EF; namespace WeApp.SeedData { public class DefaultViewAndSpCreate { private readonly WeAppDbContext _context; public DefaultViewAndSpCreate(WeAppDbContext context) { _context = context; } public void Create() { View(); SqlProcedure(); } private void View() { } private void SqlProcedure() { CreateView_(); //CreateSp_AppGuid(); } #region View private void CreateView_() { //_context.Sql(@"DROP VIEW IF EXISTS [dbo].[]"); //_context.Sql(@" // "); } #endregion #region Procedure private void CreateSp_AppGuid() { _context.Sql("DROP PROCEDURE IF EXISTS [dbo].[Sp_AppGuid]"); _context.Sql( @" CREATE PROCEDURE [dbo].[Sp_AppGuid] @idType smallint, @nextId int output, @maxId int output AS SET noCount on SET rowCount 0 SELECT @nextId=0 SELECT @maxId=0 DECLARE cursorId CURSOR FOR SELECT Step, LastID FROM Sys_AppGuids WHERE IDType=@idType FOR UPDATE OPEN cursorId IF @@error != 0 BEGIN CLOSE cursorId DEALLOCATE cursorId RETURN -1 END DECLARE @step smallint DECLARE @lastId int FETCH cursorId INTO @step, @lastId IF @@fetch_status = 0 BEGIN SELECT @nextId=@lastId SELECT @maxId=@nextId + @step UPDATE Sys_AppGuids SET LastID=@maxId WHERE CURRENT OF cursorId IF @@error != 0 OR @@rowCount != 1 BEGIN CLOSE cursorId DEALLOCATE cursorId RETURN -3 END END ELSE RETURN -2 CLOSE cursorId DEALLOCATE cursorId RETURN 0 "); } #endregion } }