2010-01-15 34 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