实体框架-在连接上使用导航属性

本文关键字:导航 属性 连接 框架 实体 | 更新日期: 2023-09-27 18:04:20

我正在一个没有关系的遗留数据库上使用实体框架。我们的查询现在被写成Linq join。

在模型中添加关联并使用导航属性编写查询是否有优点(也许有缺点)?到目前为止,我还没有找到这个问题的直接答案,我想知道这是否值得。

我认为,如果由导航属性生成的查询类似于Join查询,则在性能方面没有任何好处。

我列出了我认为的导航属性与join :

的优缺点

Pro

  • 查询更短,更可读,因为键的映射是隐藏的
  • 对象关系自动提供
  • 结果是分层的,而不是扁平的

  • 使用include语句创建查询可能需要更长的时间(参见8.2.2中非常有趣的链接实体框架4,5和6的性能考虑)

实体框架-在连接上使用导航属性

事实上,你已经回答了你的问题。当然,使用导航属性的查询要比使用join s的查询方便得多。

关于Include s - Include的过度使用主要类似于join的过度使用,因为Include至少是join,也可以选择其他东西。不要编写带有数十个Include调用的查询,这样不会影响性能。