나는 BaseScript를 가지고 있는데, Script에는 관련 엔티티를로드하지 않는 GetAll이 있습니다.BaseScript (DbContext)의 관련 엔티티로드
DbContext에는 LazyLodingEnabled가 비활성화되었습니다 (false).
내 문제를 이해하려면 몇 가지 코드를 따르십시오. 이 예제에서는 언어로 메시지를 가져올 때 사용자를로드하지 않고 messageViews를로드합니다.
BaseScript
public abstract class BaseScript<TEntity> where TEntity : EntityBase
{
public virtual IEnumerable<TEntity> GetAll()
{
using (EntityDbContext ctx = new EntityDbContext())
{
return ctx.Set<TEntity>().ToList();
}
}
}
MessageScript
public class MessageScript : BaseScript<Message>
{
public IEnumerable<Message> GetAllByLanguagePublic(string language)
{
return this.GetAllPublic().Where(x => x.Language == language).ToList();
}
}
메시지 엔티티 : "왜 User
및 MessageViews
가로드되지 않습니다"
public class Message : EntityBase
{
public string Text { get; set; }
public string Language { get; set; }
public virtual User User { get; set; }
public Guid UserId { get; set; }
public virtual ICollection<MessageView> MessageViews { get; set; }
}