1

ASP Classic から asp.net にジャンプしようとしています。チュートリアルに従って Entity Framework と LINQ をテスト データベースに接続しましたが、ExecuteQuery(). 問題は、データベースに「エンティティ クラス」が必要なことだと思いますが、その方法がわかりません。これが私の簡単なコードです:

Dim db as New TestModel.TestEntity
Dim results AS IEnumerable(OF ???) = db.ExecuteQuery(Of ???)("Select * from Table1")

Microsoft のサンプル サイトでは、Customers というエンティティ クラスを使用していますが、その意味がわかりません。

4

1 に答える 1

1

Entity Framework にはビジュアル デザイナーが付属しています。そのデザイナで、既存のデータベースに接続し、操作するデータベースからすべてのテーブル (および場合によってはビュー) を選択します。

その選択から、EF はテーブルごとに 1 つのエンティティ クラスCustomersを生成します。たとえば、テーブルがある場合はクラスを取得し、テーブルCustomerがある場合はクラスを取得します。ProductsProduct

これらのクラスは (デフォルトで) テーブル構造を 1:1 で表します。たとえば、テーブルの各列はクラスのプロパティに変換されます。

それができたら、もう SQL ステートメントなどを扱う必要はありませんExecuteQuery()。処理は EF に任せます。

特定の州のすべての顧客など、必要なものを尋ねるだけです。

var ohioCustomers = from c in dbContext.Customers
                    where c.State = "OH"
                    select c;

このステートメントはIEnumerable<Customer>、検索条件に一致する顧客のリストを返します。

于 2011-01-16T17:51:30.527 に答える