具有批量(50K +)表的实体框架

时间:2009-08-13 17:10:29

标签: .net entity-framework

我想对具有超过50,000个表的数据库使用实体框架。我只想在这些表的一小部分(少于10个)上创建实体。当我使用向导或服务器资源管理器添加表时,Visual Studio似乎无法处理大量的表。看起来好像树视图限制了那么多项。

如果这是唯一的选择,我愿意手动创建映射。

  1. 有没有办法“过滤”表格,只找到我需要的表格,以便我可以拖放?
  2. 如何手动创建实体,然后将其映射到物理表?
  3. 注意:如果LinqToSql以某种方式更好地为此工作,我也对此项目持开放态度。不过我更喜欢实体框架。

4 个答案:

答案 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。