Linq学习<三> linq to entity

之前一直用sql选择出数据放在一个集合中,然后再用Linq或者lambda去操作数据,今天学了Linq to entity 才知道原来linq产生是为了Entity。也就是EDM(实体数据模型)

关于EDM,个人觉得这篇博文写的不错:http://www.cnblogs.com/wyqlijin/archive/2011/02/25/1964934.html 这位仁兄的系列文章将的比较详细,高深!

我们创建完ADO.Net Data Entity之后就可以再vs中直接操作数据表和字段了

下面是第一个程序:

正如注释所言:我们创建完EDM后会新建一个model.edmx模型,改模型中有两个部分

1.上下文  2.实体。  上下文继承自ObjectContext 实体继承自EntityObjecthttp://www.cnblogs.com/fjsnail/p/3227683.html参考这篇

public void LinqToEntityTest()
        {
            studyEntities2 study = new studyEntities2();     //studyEntities2上下文类名,创建objectEntity(studyEntities2)的实例 
            //有关EDM 参考http://www.cnblogs.com/wyqlijin/archive/2011/02/25/1964934.html
            var queryResult = from item in study.Customer    //study.Customer相当于取得整个表
                              where item.Country == "USA"
                              select new { name = item.ContactName, country = item.Country };

            Console.WriteLine("----------------LinqToEntity----------------");
            foreach (var item in queryResult)
            {
                Console.WriteLine(item);
            }
             
        }

  使用LINQ to Entities类的第一步是为要访问的数据库创建ObjectContext对象的一个实例,ObjectContext是在数据源中创建的.edmx 文件的编译类。这个对象是数据库的网关,提供了在程序中控制它的所有方法。它还是创建业务对象的工厂,业务对象对应于数据库中存储的概念化实体(例如,顾客和产品)。
在项目中,数据上下文类称为StudyEntilies2,从Model1.edmx文件中编译。LinqToEntityTest()方法的第一个操作是创建studyEntities2的一个实例,如下所示:
 studyEntities2 study = new studyEntities2();    
在“选择数据库对象”(Choose Your Database Objects)窗格中选择Customers表时,会把Customer对象添加到Model1.edmx的LINQ to Entities类中,并把Customers成员添加到StudyEntilies2对象中,以查询Northwind数据库中的Customer对象。实际的LINQ查询语句把northWindEntities的Customers成员用作数据源,建立查询。

原文地址:https://www.cnblogs.com/fjsnail/p/3227477.html