我想对具有超过50,000个表的数据库使用实体框架。我只想在这些表的一小部分(少于10个)上创建实体。当我使用向导或服务器资源管理器添加表时,Visual Studio似乎无法处理大量的表。看起来好像树视图限制了那么多项。
如果这是唯一的选择,我愿意手动创建映射。
注意:如果LinqToSql以某种方式更好地为此工作,我也对此项目持开放态度。不过我更喜欢实体框架。
答案 0 :(得分:10)
试试这个:在数据库中创建一个只能访问10个表的登录。然后使用该登录名连接到数据库,以便设计人员使用。
答案 1 :(得分:4)
在这种情况下,我要做的是创建一个新数据库,其中只包含要从大型数据库添加的表(当然要创建精确的副本)。使用该数据库创建edmx文件。您现在有一个edmx文件,其中包含您想要的数据库的一部分。更改连接字符串,您已做好准备。
当然也可以手动执行此操作(edmx文件只是xml)但是为了获得整个概念模型,物理模型和它们之间的映射可能需要更多时间。
答案 2 :(得分:1)
我对EF只有不好的经历。如果不是要求使用更好的NHibernate。
我怀疑VS能够处理如此大的架构。您应该在文本编辑器中创建* .edmx文件。
答案 3 :(得分:0)
我知道Linq to SQL支持使用存储过程,因此在Linq to SQL中,答案可能只是为您需要的10个表创建视图或存储过程,然后将它们拖到设计器中。我认为它会以类似的方式用于EF。