如何使用LINQ进行简单的数据库查询?

时间:2013-05-29 11:35:57

标签: c# .net vb.net linq

以下是我在.NET 2.0中进行数据访问的方式。我应该如何使用.NET 4.0中的 LINQ

Dim dt As DataTable
Using oDB As OleDbConnection = GetDbConnection()
    oDB.Open()
    Using oCmd As New OleDbCommand("SELECT * FROM TABLE1 WHERE COLUMN1 = @id", oDB)
    oCmd.Parameters.AddWithValue("@id", UserId)
    oDB.Open()
    dt = New DataTable()
        Using da As OleDbDataAdapter = New OleDbDataAdapter(oCmd)
            da.Fill(dt)
        End Using
    End Using
End Using
Msgbox "Surname: " + dt.Rows(0)("Surname")

3 个答案:

答案 0 :(得分:1)

DataClasses1DataContext db = new DataClasses1DataContext();

var query = (from u in db.table1 where u.Column1 == id select u).FirstOrDefault;

答案 1 :(得分:1)

如果您使用的是Entity Framework

,则可以执行此操作
using(var context = new MyEntities())
{
    var result = context.Table1.Where(x => x.Column1 == id);
}

您还可以考虑从LINQ to SQL开始。

答案 2 :(得分:0)

首先,必须在您的计算机上安装Entity Framework。您必须在项目中添加实体模型。它将使用内部Visual Studio工具自动将所有数据库表映射到类中。然后你必须检索像。

这样的数据

假设您的数据库中有一个表Employee,该表映射到.net项目中的Employee类。

您必须使用以下代码来获取年龄小于45岁的员工,其中Age是您的Employee表的属性。它将自动映射为Employee类的属性。

我们走了。

using(var _entities = new MyDBEntities())
{
   //LINQ query
   var query = from emp in _entities.Employees //Employees is the collection of Employee
               where emp.Age < 45
               select emp;

  //query object will be containing all the employees in the form of collection whose age is
  // less than 45
}