Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将存储过程添加到现有数据库模型中(采用代码优先的方法)?_C#_Entity Framework 6_Ef Code First - Fatal编程技术网

C# 如何将存储过程添加到现有数据库模型中(采用代码优先的方法)?

C# 如何将存储过程添加到现有数据库模型中(采用代码优先的方法)?,c#,entity-framework-6,ef-code-first,C#,Entity Framework 6,Ef Code First,我正在从事一个项目,该项目实现了代码优先E-F,但无法访问存储过程。现在如何将它们添加到模型中?如果是现有数据库,您可以使用Microsoft SQL Server Management Studio访问存储过程。可以在对象资源管理器的“您的数据库”>“可编程性”>“存储过程”下找到它们。虽然我很确定同时使用存储过程和实体框架并不是常见的做法 要回答您的问题,请右键单击上面提到的对象资源管理器中的存储过程过滤器,然后单击存储过程选项将存储过程添加到数据库中 如果不想使用MSSM,还可以使用ent

我正在从事一个项目,该项目实现了代码优先E-F,但无法访问存储过程。现在如何将它们添加到模型中?

如果是现有数据库,您可以使用Microsoft SQL Server Management Studio访问存储过程。可以在对象资源管理器的“您的数据库”>“可编程性”>“存储过程”下找到它们。虽然我很确定同时使用存储过程和实体框架并不是常见的做法

要回答您的问题,请右键单击上面提到的对象资源管理器中的存储过程过滤器,然后单击存储过程选项将存储过程添加到数据库中


如果不想使用MSSM,还可以使用entity framework提供的迁移功能在C#中添加存储过程,如

使用代码优先实体框架时为什么需要存储过程中所述?您通常会使用控制器来合并存储过程所包含的逻辑。我正在处理一个现有项目。我想使用存储过程。重新构建现有逻辑会花费很多时间。我们现在不能访问存储过程吗?实际上存储过程已经存在于我的数据库中。在实现代码时首先,ef可能忘记了在“OnModelCreating”方法中添加存储过程以及db表。现在我想将SP添加到现有实体模型中。这是可能的吗?您可以使用
modelBuilder.Entity().MapToStoredProcedures()将模型绑定到存储过程,在“是”上解释了这一点。我已将其添加到OnModelCreating方法中,并构建了解决方案。但运气不好。是否需要再次运行迁移?当您首次使用数据模型时,或在启动代码中使用初始化方法时,会调用OnModelCreating方法:
Database.SetInitializer(new createDatabaseIfNoteExists())