我们正在使用实体框架和代码在.Net中创建一个新应用程序。
我们目前的问题是,有一种方法可以在特定文件中编写所有存储过程,并在创建新数据库时运行/执行它们。
主要思想是在Seed方法中编写一些逻辑并从txt文件中读取数据并执行那些st。程序。
如果有任何其他可能更好或更优雅的方法,请指导。以及这种运行方式是否正确。程序是否可取。 任何帮助表示感谢。答案 0 :(得分:3)
我做了你在种子方法中所做的事情。您必须以某种方式编写SQL才能正常工作。
我的SQL文件看起来像这样。
select
ID_Number,
Date_01=max(Date_01),
Date_02=max(Date_02),
Date_03=max(Date_03),
Date_04=max(Date_04),
Date_05=max(Date_05)
from yourtable
group by ID_Number
然后在你的种子中你打电话
DECLARE @CreateOrAlter VARCHAR(255)
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'usp_ProcName')
BEGIN
SET @CreateOrAlter = 'ALTER PROCEDURE '
END
ELSE
BEGIN
SET @CreateOrAlter = 'CREATE PROCEDURE '
END
EXEC (@CreateOrAlter +
'[dbo].[usp_ProcName]
(
@Param INT
)
AS
BEGIN
SELECT * FROM dbo.Table where Field = @Param
END
'
)