我正在尝试使用现有数据库上的Code First设置实体框架。数据库不是很好(命名约定不佳,需要一些约束)。我正在构建的应用程序是一个MVC应用程序。我有一个“模型”,“存储库”和“Web”(mvc)层。
要设置EF并映射我的模型对象(POCO对象),是否需要将我的对象与数据库表匹配?相反,我可以使用自己的存储过程进行CRUD操作吗?如果我使用WCF数据服务会有帮助吗?
我打算使用流畅的配置来映射我的对象,但由于数据库架构而存在一些问题。我知道考虑重新设计数据库只是为了让EF正确映射。任何建议将不胜感激!!
答案 0 :(得分:0)
是的,这是可能的,但不是特别容易。特别是,您必须调用context.Database.SqlQuery<T>()
,其中T是您要返回的实体类型,并且您的SQL必须与该实体类型匹配。否则,您必须将结果集按到一个类型中。
一般情况下,您必须手动完成大部分操作,尽管您可能想出一个T4模板来为您生成它,或者可能使用其他工具,如CodeSmith。