Visual Studio 2008开发新特性系列课程(3):VS2008新特性之LINQ入门
2008-05-31 09:05
751 查看
1.Today’s Problem: Data != Objects
问题:在业务逻辑中,我们需要的是对象,而在数据库中存储的是数据,在以前的技术中,通常需要写很多的代码来编写数据访问层。
public class Customer
{
public int CustomerId;
public string Name;
public string City;
public void Validate() // Todo: Add Business Validation
}
}
GridView1.DataSource = from customer in db.Customers
where customer.City == "London"
select customer;
GridView1 DataBind();
可以采用Sql server 2005的跟踪器,跟踪批处理和存储过程,可以很好的跟踪到这些执行情况。
2.Searching/Sorting an Array
string [] cities = { “Auckland”, “Oslo”, “Sydney”,“Seattle”, “Paris”, “Los Angeles” };
IEnumerable<string> places = from city in cities
where city.Length > 5
orderby city descending
select city;
GridView1.DataSource = places;
GridView1.DataBind();
3.Searching/Sorting City Collection[强类型集合的查询]
public class City
{
public string Name;
public string Country;
public int DistanceFromSeattle;
}
List<City> locations = GetLocations();
IEnumerable<City> places = from city in locations
where city.DistanceFromSeattle > 1000
orderby city.Country, city.Name
select city;
GridView1.DataSource = places;
GridView1.DataBind();
4.LINQ需求和特性
利用编译器对”匿名类型”的支持可以放心的使用LINQ
List<City> cities = CityUtilityHelper.GetCities();
var places = from city in cities
where city.DistanceFromSeattle > 1000
select new {
City = city.Name,
Country = city.Country,
DistanceInKm = city.DistanceFromSeattle * 1.61
};
GridView1.DataSource = places;
GridView1.DataBind();
5.总结
LINQ 的查询结果序列可以被绑定到任何ASP NET 中的数据绑定控件
问题:在业务逻辑中,我们需要的是对象,而在数据库中存储的是数据,在以前的技术中,通常需要写很多的代码来编写数据访问层。
public class Customer
{
public int CustomerId;
public string Name;
public string City;
public void Validate() // Todo: Add Business Validation
}
}
GridView1.DataSource = from customer in db.Customers
where customer.City == "London"
select customer;
GridView1 DataBind();
可以采用Sql server 2005的跟踪器,跟踪批处理和存储过程,可以很好的跟踪到这些执行情况。
2.Searching/Sorting an Array
string [] cities = { “Auckland”, “Oslo”, “Sydney”,“Seattle”, “Paris”, “Los Angeles” };
IEnumerable<string> places = from city in cities
where city.Length > 5
orderby city descending
select city;
GridView1.DataSource = places;
GridView1.DataBind();
3.Searching/Sorting City Collection[强类型集合的查询]
public class City
{
public string Name;
public string Country;
public int DistanceFromSeattle;
}
List<City> locations = GetLocations();
IEnumerable<City> places = from city in locations
where city.DistanceFromSeattle > 1000
orderby city.Country, city.Name
select city;
GridView1.DataSource = places;
GridView1.DataBind();
4.LINQ需求和特性
利用编译器对”匿名类型”的支持可以放心的使用LINQ
List<City> cities = CityUtilityHelper.GetCities();
var places = from city in cities
where city.DistanceFromSeattle > 1000
select new {
City = city.Name,
Country = city.Country,
DistanceInKm = city.DistanceFromSeattle * 1.61
};
GridView1.DataSource = places;
GridView1.DataBind();
5.总结
LINQ 的查询结果序列可以被绑定到任何ASP NET 中的数据绑定控件
相关文章推荐
- Visual Studio 2008开发新特性系列课程(3):VS2008新特性之LINQ入门
- Visual Studio 2008开发新特性系列课程(4):VS2008新特性之LINQ实战
- Visual Studio 2008开发新特性系列课程(4):VS2008新特性之LINQ实战
- Visual Studio 2008开发新特性系列课程(11):VS2008-WPF(Cider), ClickOnce
- Visual Studio 2008开发新特性系列课程(11):VS2008-WPF(Cider), ClickOnce
- Visual Studio 2008开发新特性系列课程(6):VS2008新特性之AJAX介绍
- Visual Studio 2008开发新特性系列课程(6):VS2008新特性之AJAX介绍
- Visual Studio 2008开发新特性系列课程(2):C#3.0与VB9.0的新特性介绍
- Visual Studio 2008开发新特性系列课程(10):使用Visual Studio 2008和.NET Compact Framework 3.5创建Mobile应用程序
- Visual Studio 2008开发新特性系列课程 1-13(全) 下载地址
- Visual Studio 2008开发新特性系列课程(5):.NET Framework 3.5 新功能介绍
- Visual Studio 2008开发新特性系列课程(12):团队协作开发利器——VSTS2008新特性展示
- Visual Studio 2008开发新特性系列课程(13):团队协作开发利器——VSTS2008如何提高团队开发效率
- Visual Studio 2008开发新特性系列课程(12):团队协作开发利器——VSTS2008新特性展示
- Visual Studio 2008开发新特性系列课程 1-13 下载地址列表
- Visual Studio 2008开发新特性系列课程(7):使用WCF,WF,Cardspace创建互联的应用程序
- Visual Studio 2008开发新特性系列课程(5):.NET Framework 3.5 新功能介绍
- Visual Studio 2008开发新特性系列课程(13):团队协作开发利器——VSTS2008如何提高团队开发效率
- Visual Studio 2008开发新特性系列课程(视频课程讲师:田京)
- Visual Studio 2008开发新特性系列课程(1):Visual Studio 2008 面面观