如何使用代码第一种方法在实体框架7中存储过程?

时间:2015-08-05 17:17:58

标签: asp.net-mvc entity-framework ef-code-first

我们正在使用实体框架和代码在.Net中创建一个新应用程序。

我们目前的问题是,有一种方法可以在特定文件中编写所有存储过程,并在创建新数据库时运行/执行它们。

主要思想是在Seed方法中编写一些逻辑并从txt文件中读取数据并执行那些st。程序。

如果有任何其他可能更好或更优雅的方法,请指导。以及这种运行方式是否正确。程序是否可取。 任何帮助表示感谢。

1 个答案:

答案 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
            '
    )