Welcome

首页 / 软件开发 / LINQ / Linq to Sql:N层应用中的查询(上) : 返回自定义实体

Linq to Sql:N层应用中的查询(上) : 返回自定义实体2011-08-20 博客园 Silent Void如果允许在UI层直接访问Linq to Sql的DataContext,可以省去很多问题,譬如在处理多表join的时 候,我们使用var来定义L2S查询,让IDE自动推断变量的具体类型 (IQueryable<匿名类型>),并 提供友好的智能提示;而且可以充分应用L2S的延迟加载特性,来进行动态查询。但如果我们希望将业务 逻辑放在一个独立的层中(譬如封装在远程的WCF应用中),又希望在逻辑层应用Linq to sql,则情况就 比较复杂了;由于我们只能使用var( IQueryable<匿名类型>),而var只能定义方法(Method)范围 中声明的变量,出了方法(Method)之后IDE就不认得它了;在这种对IQueryable<匿名类型>一无所 知的情况下,又希望能在开发时也能应用上IDE的智能感应,我们该怎么定义层之间交互的数据传输载体 呢?又如何对它进行动态查询呢?

内容比较多,分上下两篇,上篇介绍查询返回自定义实体,下篇介绍动态查询。

下面来看一个示例(以NorthWind数据库为示例),现在我们要在界面上展示某个用户什么时间订购 了哪些产品。