以下是我在.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")
答案 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
}