【发布时间】:2010-03-15 09:55:14
【问题描述】:
假设我有一个基于我的数据库中的Employees 表自动生成的Employee 类。
现在假设我想将员工数据传递给 ShowAges 方法,该方法将打印出员工列表的姓名和年龄。我将通过 linq 查询检索一组给定员工的数据,这将返回一组 Employee 实例。然后我可以将Employee 实例传递给ShowAges 方法,该方法可以访问Name 和Age 字段以获取所需的数据。
但是,因为我的Employees 表与我的数据库中的各种其他表有关系,所以我的Employee 类也有一个Department 字段、一个Manager 字段等,可以访问这些表中的相关记录其他表。如果 ShowAges 方法调用这些方法中的任何一个,这将导致从数据库中按需获取更多数据。
我想确保ShowAges 方法只使用我已经为其获取的数据,但我真的不想麻烦定义一个复制Employee 的新类类,但方法较少。 (在我的真实世界场景中,该类必须比此处描述的Employee 类复杂得多;它将有几个确实需要填充的“加入”类,而其他类则不需要)。
有没有办法“关闭”或“断开”Employees 实例,以便尝试访问尚未填充的任何属性或相关对象时会引发异常?
如果不是,那么我假设既然这必须是一个常见的要求,那么可能有一个已经建立的模式来做这种事情?
【问题讨论】:
标签: visual-studio visual-studio-2008 linq linq-to-sql