LINQ代码的设计

Arc*_*heg 9 .net c# linq code-design

您对在项目中设计linq代码有什么建议?特别是,我对大而复杂的linq查询的代码设计感兴趣吗?

例如,你知道,你需要写很多巨大的linq东西,也许你的一些代码会有重复的部分,也许不会,你需要:

  1. 使代码容易支持 - 意味着,如果您需要更改某些内容. - 你正在改变一件事,而不是很多

  2. 使代码易于阅读 - 意味着,如果您需要找到某些东西 - 您可以轻松地执行此操作.

你可以使用你的例子,也许你的练习.也许是你在任何地方看到的一些模式 - 任何东西.

说linq我的意思是任何linq,linq到sql,linq到对象,linq到xml等.

TNX

Net*_*ide 7

你可以为你的对象编写扩展;

主要代码;

IQuerable itemList = _coreRepository.GetSomeItems()
                .WithStates(OperationIdentity.SendToSomeWhere)
                .BetweenDates(StartDate, EndDate);
Run Code Online (Sandbox Code Playgroud)

延期;

public static IQueryable<SomeObject> BetweenDates(this IQueryable<SomeObject> query, DateTime startDate, DateTime endDate)
        {
            return from p in query
                   where p.CompletedDate >= startDate && p.CompletedDate < endDate
                   select p;
        }
Run Code Online (Sandbox Code Playgroud)