我的 DAL 中有一个方法返回客户列表:
Collection<Customer> FindAllCustomers();
客户有这些列:ID、姓名、地址、简历
我需要在我的 ASPX 表单 (show-customers.aspx) 的分页网格中显示它们,我将只显示这些列:ID、名称
现在,在我的 DAL FindAllCustomers() 中,我是否也从 SP 返回 Bio 字段(我正在使用阅读器填写集合)?Bio 字段可以很大 (nvarchar(max))。我正在考虑延迟加载或仅加载必填字段。但是在那种情况下,我需要创建另一种方法,该方法返回一个“完整”的客户列表,包括 bio,以便 3rd 方应用程序可以通过服务层使用它。那么创建这样的方法是否可以:
Collection<Customer> FindAllCustomers(bool loadPartial);
如果 loadPartial = true,则不加载 Bio,否则加载它。在这种情况下,由于我不想从 SP 返回 Bio,我需要根据 bool 值在我的 SP 中创建 2 个选择语句。
我认为在这里使用延迟加载是行不通的,因为 DAL 方法可以被第 3 方应用程序访问,它可能也想加载 bio。
关于在这种情况下实施的最佳模式有什么建议吗?
谢谢,
维卡斯