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

ENtity フレームワークは、LINQ と Lambda 用に構築されました。必ずエンティティ コンテナー オブジェクトを閉じて破棄してください。

于 2013-07-27T17:56:29.583 に答える
3

SQL を (SQL またはストアド プロシージャを介して) 直接操作し、SqlConnection、SqlCommand、およびおそらく DataReader または DataAdapter を使用してサーバーと通信するか、構成した Entity Framework を正しく使用します。

私は VB.Net にはあまり興味がないので、疑似コードになりますが、EF コンテキストに対処する必要があります。

何かのようなもの

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