您的位置:首页 > 其它

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 中的数据绑定控件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐