使用 EF 从数据库中获取数据

Get Data from DB With EF

我最近开始使用 EF6,所以我对它的了解不是很多。我目前正在开发使用 VS Express 2013 创建的测试 Web 项目。EF 已创建所需的 tables。现在我添加了我自己的 table,其中包含基本信息,例如:

名字

姓氏

出生日期

我想收集的是我会在我的函数中写一个 SQL 查询来从数据库中获取数据,比如

using (SqlConnection connection = new SqlConnection(myConnectionString))
    {
        using (SqlCommand cmd = new SqlCommand("select * from my table", connection))
        {
            connection.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    //Read Data
                }
            }
        }

或者是否有单独的方法在 EF 中编写它?因为我找不到 SQL syntax 查询在 EF 中的使用方式和位置,或者我可能只是遗漏了什么?在此先感谢您的帮助和支持

您发布的代码正在使用 ADO.Net。您可以像这样

在 entity framework 中执行原始 sql
 Entities ent = new Entities();//DbContext Object
 var list = ent.tablename.SqlQuery("select * from my table");

并使用 Entity framework 从 db

获取数据
Entities ent = new Entities();//DbContext Object
var data = ent.tableName;

Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.

你需要在那里复习更多 http://msdn.microsoft.com/en-gb/data/ef.aspx 并且至少阅读一些 EF 的介绍或一些视频教程。

var context = new EntitiesContext();//DbContext Object
 var list = ent.Customers; // will return all customers.

EF 的要点是您不必编写 SQL 查询。您有一个用于访问数据库的对象模型:

using (var context = new YourEntities())
{
    var records = context.Table; // .Where(t => t.Name == "foo")
    foreach (var record in records)
    {
        // ...
    }
}

请查看 MSDN 中的快速入门示例

http://msdn.microsoft.com/en-us/library/vstudio/bb399182%28v=vs.100%29.aspx