我是Entity Framework 6的新手,我想在我的项目中实现存储过程.我有一个存储过程如下:
ALTER PROCEDURE [dbo].[insert_department]
@Name [varchar](100)
AS
BEGIN
INSERT [dbo].[Departments]([Name])
VALUES (@Name)
DECLARE @DeptId int
SELECT @DeptId = [DeptId]
FROM [dbo].[Departments]
WHERE @@ROWCOUNT > 0 AND [DeptId] = SCOPE_IDENTITY()
SELECT t0.[DeptId]
FROM [dbo].[Departments] AS t0
WHERE @@ROWCOUNT > 0 AND t0.[DeptId] = @DeptId
END
Run Code Online (Sandbox Code Playgroud)
Department 类:
public class Department
{
public int DepartmentId { get; set; }
public string Name { get; set; }
}
modelBuilder
.Entity<Department>()
.MapToStoredProcedures(s =>
s.Update(u => u.HasName("modify_department")
.Parameter(b => b.Department, "department_id")
.Parameter(b => …Run Code Online (Sandbox Code Playgroud) 我有一个存储过程有三个参数,我一直在尝试使用以下命令返回结果:
context.Database.SqlQuery<myEntityType>("mySpName", param1, param2, param3);
Run Code Online (Sandbox Code Playgroud)
起初我尝试使用SqlParameter对象作为参数,但这不起作用并抛出SqlException以下消息:
过程或函数'mySpName'需要参数'@ param1',这是未提供的.
所以我的问题是你如何使用这个方法与期望参数的存储过程?
谢谢.
我即将开始一个Web应用程序,我想使用实体框架(主要是)代码优先模型.
但是,除了我计划创建的特定于应用程序的模型之外,我还必须使用外部用户数据库.是否可以首先将我的一个模型指定为数据库并使用单独的数据库上下文?
如何在实体框架中使用数据库优先方法使用存储库模式。我在浏览Internet可用资源时有一些想法,但是对于实时应用程序,我不确定如何在数据库优先方法的自动生成类上实现存储库模式。
我已经在SO中进行了一些链接,但是我没有一个清晰的主意。提前致谢。