使用EF从DB获取数据

时间:2015-01-09 12:29:30

标签: c# asp.net entity-framework

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

DOB

我想要收集的是我会在我的函数中编写一个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中写它?因为我无法找到EF中使用SQL syntax查询的方式和位置,或者我只是遗漏了什么?在此先感谢您的帮助和帮助支持

4 个答案:

答案 0 :(得分:2)

  

实体框架(EF)是一个支持.NET的对象关系映射器   开发人员使用特定于域的对象处理关系数据。   它消除了对大多数数据访问代码的需求   开发人员通常需要编写。

您需要查看更多http://msdn.microsoft.com/en-gb/data/ef.aspx,并至少阅读一些EF或一些视频教程的介绍。

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

答案 1 :(得分:1)

您发布的代码是使用ADO.Net。您可以在实体框架中执行原始sql,如此

 Entities ent = new Entities();//DbContext Object
 var list = ent.tablename.SqlQuery("select * from my table");

使用Entity框架从db

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)