【发布时间】:2011-01-14 02:34:00
【问题描述】:
对于我的项目,我使用 SqlCE 3.5、Linq2Sql 并使用 SqlMetal 生成实体类(dbml 文件)。
如果我使用实体类的扩展作为我的业务对象类,我应该如何处理子对象?
我可以使用 dbml 文件中已有的 EntitySet(Of ChildClass) 吗?或者我应该在我的部分类扩展中创建一个新的集合属性,比如:
public partial class ParentClass
{
public List<ChildClass> children { get; set; }
}
我得到了一个模糊的假设,即 EntitySet(Of ChildClass) 与完整的数据库表有某种类型的直接连接。而且我可能应该将它用作纯粹的数据访问对象,对于业务逻辑,我应该保留这个只能保存表子集的另一个集合对象。
但我不确定我是否完全误解了这个概念?我真的很想知道应该如何正确使用它..?
EDIT1:
对我来说可能是性能问题的一件事是将我的对象集合绑定到 datagridview 时。一些属性从证券交易所数据馈送中非常频繁地更新,我想知道使用 EntitySets 作为业务层集合是否会使这变慢。虽然我不会对这些更新调用 submitchanges。由于所有更新,我仍然无法滚动数据网格视图。这可能是由于使用了 EntitySets,或者只是 datagridview 本身更新得太频繁以至于滚动似乎不可能?
【问题讨论】:
标签: c# database linq-to-sql entity