Csharp/C#教程:如何在C#中创建存储过程,然后*将*保存到SQL Server?分享


如何在C#中创建存储过程,然后*将*保存到SQL Server?

我一直在这个墙上撞了一会儿。 我知道你可以用C#代码创建一个存储过程,那个位就行。 但我无法弄清楚的是,然后我可以将该存储过程保存 到SQL Server上 – 但是通过C#代码完成了吗?

场景是:我想通过代码创建测试数据库,然后我想将存储过程添加到新创建的测试数据库(服务器端) – 再次,所有这些都是通过相同的C#代码项目完成的。

是的,这是可能的。 在这里,我给你一个示例。

public partial class InitialEntities : DbMigration { public override void Up() { CreateStoredProcedure( "dbo.InsertEmployee", p => new { Code = p.String(), Name = p.String(), DepartmentId = p.Int(), }, body: @"INSERT [dbo].[EmployeeMasters]([Code], [Name], [DepartmentId]) VALUES (@Code, @Name, @DepartmentId) DECLARE @EmployeeId int SELECT @EmployeeId = [EmployeeId] FROM [dbo].[EmployeeMasters] WHERE @@ROWCOUNT > 0 AND [EmployeeId] = scope_identity() SELECT t0.[EmployeeId] FROM [dbo].[EmployeeMasters] AS t0 WHERE @@ROWCOUNT > 0 AND t0.[EmployeeId] = @EmployeeId" ); CreateStoredProcedure( "dbo.UpdateEmployee", p => new { EmployeeId = p.Int(), Code = p.String(), Name = p.String(), DepartmentId = p.Int(), }, body: @"UPDATE [dbo].[EmployeeMasters] SET [Code] = @Code, [Name] = @Name, [DepartmentId] = @DepartmentId WHERE ([EmployeeId] = @EmployeeId)" ); CreateStoredProcedure( "dbo.DeleteEmployee", p => new { EmployeeId = p.Int(), }, body: @"DELETE [dbo].[EmployeeMasters] WHERE ([EmployeeId] = @EmployeeId)" ); } public override void Down() { DropStoredProcedure("dbo.DeleteEmployee"); DropStoredProcedure("dbo.UpdateEmployee"); DropStoredProcedure("dbo.InsertEmployee"); } } 

没有entity framework

  StringBuilder sbSP = new StringBuilder(); sbSP.AppendLine("CREATE PROCEDURE [spInsertADAuthorization] @AD_Account varchar(255),@AD_SID varchar(255),@AD_EmailAddress varchar(255),@DateImported datetime,@Active bit AS BEGIN SET NOCOUNT ON; INSERT INTO AD_Authorization (AD_Account, AD_SID, AD_EmailAddress, DateImported, Active) VALUES (@AD_Account,@AD_SID,@AD_EmailAddress,@DateImported,@Active) END"); using (SqlConnection connection = new SqlConnection(ConnectionString)) { using (SqlCommand cmd = new SqlCommand(sbSP.ToString(), connection)) { connection.Open(); cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); connection.Close(); } } 

使用entityframework通过C#创建存储过程

通过C#创建存储过程而不使用entityframework

是。 您在字符串中使用通常的CREATE PROCEDURE文本,然后通过SqlCommand执行它,因为用户当然有权存储过程。 阅读这个其他答案,因为它有一些关于GOUSE细节,这些细节通常用于创建sprocs(并且会在C#中给你带来麻烦)

上述就是C#学习教程:如何在C#中创建存储过程,然后*将*保存到SQL Server?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1014106.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐