实体框架-在连接上使用导航属性
本文关键字:导航 属性 连接 框架 实体 | 更新日期: 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
调用的查询,这样不会影响性能。