在学习linq过程中,我们难免会要创建EDM,这里简单的介绍一下EDM的创建过程

图示如下:

1.右击→添加→新建项→数据→Ado.net实体数据模型

选择适当的数据库,表后点击完成,vs中会自动生成modex.edmx和一个app.config文件(我是在控制台程序中,app.config主要是用来存放连接字符串的)

主要的还是modex.edmx,我们来看看他的内部结构

命民空间linqTest下主要有两个部分:上下文和实体

展开上下文:

我们可以看到类studyEntities2是继承自ObjectContext的,然后这个类里面有ObjectSet属性,ObjectContext就是数据库在程序中生成的对象上下文,这里面包含了数据库中的表,在程序中就是ObjectSet,有点貌似dataset。即存放数据集合的容器。

也就是ObjectSet保存的就是数据库中的表对应的对象集。ObjectContext可以叫对象上下文,也可以叫实体上下文集。ObjectSet可以叫对象集,也可以叫实体集。

http://www.cnblogs.com/wyqlijin/archive/2011/03/02/1968691.html这里关于objectcontext讲的比较详细

展开实体:

我们可以看到实体对应多个类,这些类其实就是数据库表生成的实体类,这些类当中包含所有的数据库表中的字段。

另外,所有的实体类都是继承自 EntityObject,也就是实体对象,所以我们可以把这些类叫做实体类。

创建EDM的更多相关文章

  1. 使用ASP.NET Web API 2创建OData v4 终结点

    开放数据协议(Open Data Protocol[简称OData])是用于Web的数据访问协议.OData提供了一种对数据集进行CRUD操作(Create,Read,Update,Delete)的统 ...

  2. Building Your First EDM

    1 文件--新建--项目 控制台应用程序,填写信息,确定: 2 在解决方案管理器中,选中AmyConsoleApp,添加新项, 选择ADO.NET 实体数据模型,添加: 3 在选择模型内容中选择“从数 ...

  3. [转]使用ASP.NET Web API 2创建OData v4 终结点

    本文转自:http://www.cnblogs.com/farb/p/ODataAspNetWebAPI.html 开放数据协议(Open Data Protocol[简称OData])是用于Web的 ...

  4. EntityFramework 学习 一 Querying with EDM 从EDM查询

    前面我们已经创建EDM.DbContext和实体类,接下来我们学习不同的查询实体方法,转变为数据库的SQL查询 Entity Framework支持3种查询方式:1)LINQ to Entities ...

  5. Create an OData v4 Endpoint Using ASP.NET Web API 2.2(使用ASP.NET Web API 2.2创建OData v4端点)

    开放数据协议Open Data Protocol(OData)是web的一种数据存取协议,OData通过设置CRUD操作(Create创建.Read读取.Update更新,Delete删除)提供一种统 ...

  6. 创建WebApi Odata v3 终结点

    开放数据协议(OData) 是用于 web 的数据访问协议. OData 提供统一的方法来构造数据. 查询的数据和操作该数据集通过 CRUD 操作 (创建. 读取. 更新和删除). OData 支持 ...

  7. Entity Framework 教程——Entity Framework中的实体类型

    Entity Framework中的实体类型 : 在之前的章节中我们介绍过从已有的数据库中创建EDM,它包含数据库中每个表所对应的实体.在EF 5.0/6.0中,存在POCO 实体和动态代理实体两种. ...

  8. 8天掌握EF的Code First开发系列之动手写第一个Code First应用

    返回<8天掌握EF的Code First开发>总目录 本篇目录 创建控制台项目 根据.Net中的类来创建数据库 简单的CRUD操作 数据库模式更改介绍 本章小结 自我测试 上一篇<8 ...

  9. EF 知识点

    EntityFrameWorak知识点记录 发展史 EF1.0时,只支持Database First,数据库优先.必须将设计器指向一个现有的数据库. EF4时,支持Model First,模型优先.可 ...

随机推荐

  1. node中的require

    /*在node中,可以使用require()函数来加载模块. * require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在require函 ...

  2. 局部加权线性回归(Locally weighted linear regression)

    首先我们来看一个线性回归的问题,在下面的例子中,我们选取不同维度的特征来对我们的数据进行拟合. 对于上面三个图像做如下解释: 选取一个特征,来拟合数据,可以看出来拟合情况并不是很好,有些数据误差还是比 ...

  3. Monkey测试工具介绍

    ---------------------------------------------------------------------------------------------------- ...

  4. C投票系统

  5. 使用AdBlock plus屏蔽广告

    使用前 使用后 定制规则 使用前 添加规则 id=1的为广告

  6. Python基础学习八 写日志

    import logging from logging import handlers class Logger(object): level_relations = { 'debug': loggi ...

  7. node / npm 配置问题

    安装nodejs 后运行 npm 命令无响应处理方法 安装和卸载过nodejs, 也编辑过 C:\Users\{账户}\下的.npmrc文件. 再全新安装nodejs ,运行npm 命令,无响应. 处 ...

  8. js 的eval()方法 计算某个字符串,并执行其中的的 JavaScript 代码;

    定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...

  9. 1001.害死人不偿命的(3n+1)猜想

    题目截图: 思路: 简单模拟.具体见另一篇博客. 代码: /* 1001.害死人不偿命的(3n+1)猜想 */ #include <stdio.h> #include <string ...

  10. docker plugin test

    docker build -t docker-volume-drbd . id=$(docker create docker-volume-drbd true) docker export $id - ...