是否可以将实体映射到实体框架中的存储过程的结果?

时间:2012-09-14 18:20:07

标签: asp.net asp.net-mvc entity-framework oop

我正在尝试使用现有数据库上的Code First设置实体框架。数据库不是很好(命名约定不佳,需要一些约束)。我正在构建的应用程序是一个MVC应用程序。我有一个“模型”,“存储库”和“Web”(mvc)层。

要设置EF并映射我的模型对象(PO​​CO对象),是否需要将我的对象与数据库表匹配?相反,我可以使用自己的存储过程进行CRUD操作吗?如果我使用WCF数据服务会有帮助吗?

我打算使用流畅的配置来映射我的对象,但由于数据库架构而存在一些问题。我知道考虑重新设计数据库只是为了让EF正确映射。任何建议将不胜感激!!

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,但不是特别容易。特别是,您必须调用context.Database.SqlQuery<T>(),其中T是您要返回的实体类型,并且您的SQL必须与该实体类型匹配。否则,您必须将结果集按到一个类型中。

一般情况下,您必须手动完成大部分操作,尽管您可能想出一个T4模板来为您生成它,或者可能使用其他工具,如CodeSmith。