现在我在项目中使用model-first
模型EDMX
。
但是,如何在没有EDMX
文件的情况下工作,并且能够从数据库导入存储过程签名,以及在更改数据库时更新我的实体?
答案 0 :(得分:1)
我认为您正在寻找(错误命名)" Code First"使用"逆向工程"从数据库创建代码。 http://haroldrv.com/2015/04/using-entity-framework-code-first-from-database/。 "数据库第一"仍然使用EDMX映射文件,许多人发现这些文件有问题,并且不再用于最新的EF Core 1(以前的EF 7)。
就将存储过程映射到实体而言,此MSDN文章https://msdn.microsoft.com/en-us/data/dn468673显示了如何操作。我不相信有一种自动方式可以像使用表本身那样提取存储过程签名。
modelBuilder
.Entity<Blog>()
.MapToStoredProcedures(s =>
{
s.Update(u => u.HasName("modify_blog"));
s.Delete(d => d.HasName("delete_blog"));
s.Insert(i => i.HasName("insert_blog"));
});
您也可以直接调用存储过程而不进行如下映射。
var blogs = context.Database.SqlQuery<Blog>(
"getBlogs @param1", new SqlParameter("param1", param1)
);