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 将为您的每个表生成一个实体类Customers,例如,如果您有一个表,您将获得一个Customer类,如果您有一个Products表,您将获得一个Product类。

这些类代表(默认情况下)您的表结构 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 回答