为什么C#主从模型中使用virtual关键字?
请参阅 EntityFramework 文章以及 Microsoft 的其他 ASP MVC 网络研讨会,例如:
1:http://www.asp.net/mvc/videos/5- aspnet-mvc 分钟介绍
他们使用 virtual 关键字在主模型和详细模型之间进行引用。
您能否解释一下(1)为什么他们使用 virtual 关键字以及(2)如果不使用该关键字会出现哪些缺点?
问候
Refer to the EntityFramework article, and other ASP MVC webinars from Microsoft such as;
1: http://www.asp.net/mvc/videos/5-minute-introduction-to-aspnet-mvc
They use virtual keyword to reference between master and detail models.
Could you explain (1) why they use virtual keyword and (2) what drawbacks occur without the keyword?
Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
他们在您的第二个链接中指定了原因:
我看到的唯一缺点是,与任何虚拟方法一样,这些方法的执行速度比非虚拟方法稍慢。您很可能永远无法发现性能差异。
您将看到这些属性的首次访问出现延迟,因为延迟加载意味着第一次读取将导致数据库查询。
They specify why in your second link:
The only downside I can see is that, like any virtual method, these will perform ever so slightly slower than a non-virtual method. Chances are you will never be able to detect the performance difference.
You will see a delay in the first access of these properties, as lazy loading implies that the first read will result in a DB query.