Linq到一个拥有大数据库的实体

时间:2009-03-20 09:03:18

标签: database nhibernate entity-framework ms-access linq-to-entities

我们即将启动一个涉及使用带有十万条记录的Sql Server 2005的项目。在过去,我使用了NHibernate并取得了良好的效果。但现在我正在评估Linq对数据访问的实体。我在L2E上有这些问题,

  1. 与NHibernate相比,L2E的缓存有多好(基本上性能如何)?
  2. 使用单个.edmx文件有多容易(我们可能有多个开发人员同时处理这些文件)?如果我们决定拆分文件,它有多容易,有什么缺点?
  3. 模拟生成的类有多容易?
  4. 它是否支持MS Access?

1 个答案:

答案 0 :(得分:2)

  1. Linq2Entities不执行任何隐式缓存。运行查询时,它会将Linq转换为SQL查询,执行它并返回结果。就这么简单。

  2. 您无法在多个EDMX文件中拆分模型。嗯,你可以,但你会失去实体之间的关系。如果您的数据库包含多个不相互依赖的实体组,则可以执行此操作。

  3. 不是很好。我们有一个系统模拟ObjectContext来拦截对它的调用(我们使用一个接口来进行实体访问,它在运行时映射到真正的ObjectContext,并在模拟ObjectContext处unittest time。

  4. 确实如此,但您必须自己创建实体(无法从数据库生成实体)。