using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Data.Linq;
namespace 延迟求值主动求值
{
internal class Program
{
private static void Main(string[] args)
{
List<int> list = new List<int>() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//temp1创建一个查询,迭代查询集合的值,不是立即执行
var temp1 = from c in list where c > 5 select c;
//对查询调用ToArray()、ToList()方法会立即执行
var temp2 = (from c in list where c > 5 select c).ToArray();
list[0] = 11;
Console.WriteLine("Temp1:");
foreach (var i in temp1)
{
Console.WriteLine(i);
}
Console.WriteLine("\nTemp2:");
foreach (var i in temp2)
{
Console.WriteLine(i);
}
Console.ReadLine();
// DataContext ctx=new DataContext("数据库连接串");
//Table<Person> persons = ctx.GetTable<Person>();
//#region 方法1:AsEnumerable方法将数据库数据转化为本地数据
//var tem1 = (from p in persons where p.Age > 20 select p).AsEnumerable<Person>();
//var tem2 = (from p in tem1 where p.name.IndexOf('e') > 0 select p);
//#endregion
//#region Linq to SQL
//var tempp1 = from p in persons where p.Age > 20 select p;
//var tempp2 = from p in tempp1 where p.name.IndexOf('e') > 0 select p;
//#endregion
}
//延迟查询性能优化
}
///[Table(Name = "Person")]
class Person
{
[Column]
public string name { get; set; }
[Column]
public int Age { get; set; }
}
}
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Net.Sockets;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Data.Linq;
namespace 延迟求值主动求值
{
internal class Program
{
private static void Main(string[] args)
{
List<int> list = new List<int>() {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
//temp1创建一个查询,迭代查询集合的值,不是立即执行
var temp1 = from c in list where c > 5 select c;
//对查询调用ToArray()、ToList()方法会立即执行
var temp2 = (from c in list where c > 5 select c).ToArray();
list[0] = 11;
Console.WriteLine("Temp1:");
foreach (var i in temp1)
{
Console.WriteLine(i);
}
Console.WriteLine("\nTemp2:");
foreach (var i in temp2)
{
Console.WriteLine(i);
}
Console.ReadLine();
// DataContext ctx=new DataContext("数据库连接串");
//Table<Person> persons = ctx.GetTable<Person>();
//#region 方法1:AsEnumerable方法将数据库数据转化为本地数据
//var tem1 = (from p in persons where p.Age > 20 select p).AsEnumerable<Person>();
//var tem2 = (from p in tem1 where p.name.IndexOf('e') > 0 select p);
//#endregion
//#region Linq to SQL
//var tempp1 = from p in persons where p.Age > 20 select p;
//var tempp2 = from p in tempp1 where p.name.IndexOf('e') > 0 select p;
//#endregion
}
//延迟查询性能优化
}
///[Table(Name = "Person")]
class Person
{
[Column]
public string name { get; set; }
[Column]
public int Age { get; set; }
}
}