A virtual
palavra-chave tem efeito quando usada nas propriedades do EF Code First ?. Alguém pode descrever todas as suas ramificações em diferentes situações?
Por exemplo, eu sei que ele pode controlar o carregamento lento - se você usar a palavra-chave virtual em uma propriedade de relacionamento ICollection / um para muitos, ela será carregada lentamente por padrão, enquanto que se você deixar a palavra-chave virtual de fora, ela será estar ansiosamente carregado.
Que outros efeitos a virtual
palavra-chave pode ter no EF com entidades POCO ?. Devo torná-lo padrão para uso virtual
em todas as minhas propriedades ou padrão para não usá-lo?
fonte
public virtual byte[] bigData { get; set; }
carregamento é lento?.Select(a=>new { fields you want })
.Essa palavra-chave virtual está relacionada ao tópico de carregamento de dados da estrutura da entidade (carregamento lento, carregamento rápido e carregamento explícito).
Você deve usar a palavra-chave virtual quando desejar carregar dados com carregamento lento.
carregamento lento é o processo pelo qual uma entidade ou coleção de entidades é carregada automaticamente do banco de dados na primeira vez que é acessada.
Por exemplo, ao usar a classe de entidade Blog definida abaixo, as Postagens relacionadas serão carregadas na primeira vez que a propriedade de navegação Postagens for acessada:
O carregamento lento da coleção Postagens pode ser desativado, tornando a propriedade Postagens não virtual.
se o carregamento lento estiver desativado, o carregamento da coleção Postagens ainda poderá ser alcançado usando o carregamento antecipado (usando o método Incluir) ou o carregamento explícito de entidades relacionadas (usando o método Load).
Carregando ansiosamente:
Carregando explicitamente:
fonte
Include()
.