2010-01-15 38 views
0

如果我将属性添加到linq实体(例如员工),只需引用其他属性来实现接口,返回一个IQueryable,而where子句提到那些指向其他linq实体属性的添加属性,它会导致整个表加载和筛选内存,而不是在SQL Server?将添加部分类属性破坏延期执行?

我的数据库使用小写字段,linq to sql将此引入并希望在实体上使用小写属性,我使用resharper并更喜欢坚持UpperCamelCase公约的约定。

回答

0

如果您的属性中的查询接受IQueryable作为参数并返回IQueryable,并且在返回之前没有从/ IEnumerable或ICollection进行转换,则查询将不会在属性中执行。它将被扩展,并且实际执行会在投射到IEnumerable等时发生。

+0

我的属性是一个简单的别名,例如linq to sql有一个名为ZAssociateId的字段,用来实现我的IEmployee接口,我做了一个名为AssociateId的部分类中的属性只返回ZAssociateId。我不知道如何将您的答案应用于我的用例。 – Maslow 2010-01-20 16:02:41