如何使用LINQ查询表填充VS2008数据源窗口?

时间:2010-05-20 08:45:23

标签: c# sql visual-studio linq linq-to-sql

我(专业)使用Visual Studio 2008创建SQL Server数据库客户端,C# - > Windows窗体。我正在使用我朋友VS Studio提供的所有内置内容,拖放,在DataSet.xsd中创建SQL查询表等等......我喜欢它。

但是!

我想尝试使用LINQ,因为我希望有一些东西比纯SQL更直观...

(这是新手问题待解决的问题)!

我不知道在哪里放LINQ代码使数据源窗口中的表“弹出” - 这意味着我完全卡住了!我该怎么办?

1 个答案:

答案 0 :(得分:0)

在VS2008菜单中,
项目>添加新项目...>数据(类别)> LINQ to SQL类

设计师将开放。

在“服务器资源管理器”窗格中打开数据库,然后将表格拖到设计图面上。

评论后编辑

以下是使用LINQ在代码中查询数据库的示例:

using(var db as NameOfYourLinqDataContextClass)
{
    var myCars = from car in db.cars
                     where car.owner_name.Equals("Jay")
                     select car;

    foreach (var car in myCars)
    {
        myForm.myCarsList.Add(string.Format("{0} {1}", car.make, car.model));
    }
}

在这里,我查询了数据库中cars表中car_owner列中值为“Jay”的任何行。使用此查询,我将makemodel列中的值连接起来,并将它们放在表单中的列表或其他内容中。

LINQ-to-SQL根据数据库的模式创建CLR类。您可以“在运行中”创建这些查询表达式,这些表达式将在后台转换为T-SQL查询,并在需要结果时针对数据库执行。也就是说,在上面的示例中,在行foreach (var car in myCars)之前没有对数据库进行调用。