.Net MVC 数据库第一个带有存储过程的模型

.Net MVC Database first model with stored procedures

我正在 VS 2013 中开发一个 MVC5 web 项目,我必须使用一个已经存在的数据库及其存储过程,所以我期待使用 Entity Framework 数据库优先方法来帮助我建模类。

我的问题是,我是否应该使用 EF 直接从 table 中创建 类(模型)?我的意思是我的 类 应该完全按照数据库中的方式表示 table 吗? - 鉴于某些存储过程 return 来自不同 table 的不同属性的组合,我很困惑代码中的 类 应该准确表示什么。

我还想拥有自己的表单来让用户上传和阅读他们的信息,因此搭建视图以创建 read/update/delete 不会派上用场,对吗? 谢谢!

如果它是代码优先,那么您可以使用 EF 工具从现有数据库为您构建数据库。如果它是数据库优先,那么无论如何都会为您生成所有数据库模型,并且无论何时更新数据库,都可以更新模型以反映您的更改。

如果您首先对代码使用存储过程,则需要为每个存储过程创建对象,以便 return 值可以映射回对象。这些应该确实与 return 在类型和命名方面返回的数据完全匹配:

this.Database.SqlQuery<YourEntityType>("storedProcedureName",params);

至于为您搭建视图,我认为您应该一次迈出一步,看看哪些适合您的用例。