3

我想使用 vb.net、实体框架和本机 sql 在 Winforms 中检索数据。我使用了下面的代码,它允许我向 sql 添加数据:

Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim db As New SampleDBEntities
    Dim bs As New BindingSource
    bs.DataSource = db.Cars.Local
    DataGridView1.DataSource = bs
End Sub

但我不知道如何触发查询以从数据库中检索数据。假设我想从名为 SampleDB 的数据库中的 Cars 表中获取所有记录。所以我需要"SELECT * FROM Cars",但是如何使用这个查询?

4

2 回答 2

4

要获得所有汽车,它将是:

Using db As New SampleDBEntities
  Dim cars = db.Cars.ToList
End Using

要按类型获取所有汽车,如果您在该实体中有“类型”字段。

Using db As New SampleDBEntities
  Dim mazdaCars = db.Cars.Where(Function(c) c.Type = "Mazda").ToList
End Using

实体框架是为 LINQ 和 Lambda 构建的。请务必关闭/处置您的实体容器对象。

于 2013-07-27T17:56:29.583 回答
3

您可以直接使用 SQL(通过 SQL 或存储过程)并使用 SqlConnection、SqlCommand 以及可能的 DataReader 或 DataAdapter 与服务器通信,或者您正确使用已配置的实体框架。

我不是很喜欢 VB.Net,所以它是伪代码,但你需要解决你的 EF 上下文。

就像是

using (myEntityModel context = new myEntityModel()) 
{
    MyResult = context.Cars.where(c => c.model == "myModel").ToList();
}
于 2013-07-27T17:57:58.587 回答