2013-11-01 48 views
2

我正在关注在PluralSight上关于MVC4的教程系列,并且演示者将所有模型的所有属性都设置为虚拟。我还没有看到别人这样做,我想知道这是否是创建模型的正确方法。此外,使用虚拟关键字的原因是什么。在模型的属性上使用虚拟

例如:

public class Video 
{ 
    public virtual int Id { get; set; } 
    public virtual string Title { get; set; } 
    public virtual int Length { get; set; } 
} 
+2

的可能重复[为什么要使用“虚拟”在类的属性?](http://stackoverflow.com/questions/8542864/why-use-virtual-for-properties-in-classes) –

+0

很困难没有完整的源代码来回答这个问题。我猜他们正在使用虚拟属性,因为他们计划使用实体框架,这使高级功能(如延迟加载和更有效的更改跟踪)成为可能。看到这个问题的更多细节:http://stackoverflow.com/questions/8542864/why-use-virtual-for-properties-in-classes http://stackoverflow.com/questions/5597760/what-effects-can-所述虚关键字具有-在实体框架-4-1-POCO码音响 –

回答

1

它不一定。在您的教程中,虚拟方法用于实体框架中的延迟加载。

P.S. About Lazy Load