因此,我的EF模型具有关系,根据我在示例中看到的,这些关系应该使用ICollection的虚拟属性完成。
示例:
public class Task
{
public int Id { get; set; }
public string Description { get; set; }
public virtual ICollection<SubTask> { get; set; }
}
我在某处读到应该使用IEnumerable来防止延迟执行,这是正确的吗?这意味着如果我的DAL方法返回IEnumerable而不是IQueryable,那么SQL将在那个时刻执行,而不是在我在Web页面中调用.ToList时执行。
那么,最佳实践是什么? 我应该返回什么? IEnumerable,List? IList,ICollection?
谢谢
virtual
关键字决定了执行是否被延迟,但我可能是错的。 - mfussenegger