我有一个包含许多表的现有数据库,只能使用存储过程访问(无O / RM)。我想使用Entity Framework和Code First方法在此数据库中创建新表。
我现有数据库中的所有表是否需要在我的Entity Framework类中进行建模?我能否仅在DbContext
中手动编写我需要的新类吗?其他表真的需要保持不变,暂时远离O / RM。
注意:我将使用最新的EF5。
答案 0 :(得分:7)
现在,Power Tools只允许您对数据库中的所有表和视图进行反向工程,如果您有一个拥有数百个对象的大型数据库,则可能会出现问题,您不想进行逆向工程。
但是,我找到了一个简单的解决方法:
为逆向工程创建新的技术用户。对于此用户,您只授予您希望进行逆向工程的表和视图的权限。
玩得开心!
答案 1 :(得分:2)
您没有义务使用EF映射任何给定的表格。如果您已有数据库,则可能需要考虑使用Microsoft提供的EF Power Tools对数据库进行逆向工程。我最近用一个MySQL数据库做了这个,我用它进行测试,效果很好!
如果您是EF的新手,PowerTools会为您编写大量代码,这有助于您掌握Code First的语法。您需要修改输出,但这是一个很好的开始。我真的相信这种方法会给你带来最少的麻烦。
可以在此处找到EF PowerTools:http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/