文档介绍::将类型转换为泛型IEnumerable使用AsEnumerable<TSource>可返回类型化为泛型IEnumerable的参数。在此示例中,LINQtoSQL(使用默认泛型Query)会尝试将查询转换为SQL并在服务器上执行。但where子句引用用户定义的客户端方法(isValidProduct),此方法无法转换为SQL。解决方法是指定where的客户端泛型IEnumerable<T>实现以替换泛型IQueryable<T>。可通过调用AsEnumerable<TSource>运算符来执行此操作。varq=()whereisValidProduct(p)selectp;语句描述:这个例子就是使用AsEnumerable以便使用Where的客户端IEnumerable实现,而不是默认的IQueryable将在服务器上转换为SQL并执行的默认Query<T>实现。这很有必要,因为Where子句引用了用户定义的客户端方法isValidProduct,该方法不能转换为SQL。:将序列转换为数组使用ToArray<TSource>可从序列创建数组。varq==="London"selectc;Customer[]qArray=();语句描述:这个例子使用ToArray将查询直接计算为数组。:将序列转换为泛型列表使用ToList<TSource>可从序列创建泛型列表。下面的示例使用ToList<TSource>直接将查询的计算结果放入泛型List<T>。varq=>=newDateTime(1994,1,1)selecte;List<Employee>qList=();:<TSource,TKey>方法可以将序列转化为字典。TSource表示source中的元素的类型;TKey表示keySelector返回的键的类型。其返回一个包含键和值的Dictionary<TKey,TValue>。varq=<=&&!;Dictionary<int,Product>qDictionary=(p=>);foreach(){(key);}语句描述:这个例子使用ToDictionary将查询和键表达式直接键表达式直接计算为Dictionary<K,T>。提供程序模型提供的服务。因此,应用程序混合在一起,解决方案迁移到LINQtoSQL。,连接。对DataContext的所有操作(包括查询)都使用所提供的这个连接。如果此连接已经打开,则在您使用完此连接时,LINQtoSQL会保