Entity Framework  数据模型 Model 创建的使用:

开发环境:VS2012

数据库:SQL Server 2008

Entity Framework  版本:6.12

下面是新建的项目架构:(当然这是我的项目架构,只是参考)

1. 新建项目

新建一个控制台项目即可 :Future.LifeWillBetter.DAL.ForModel.ConsoleApplication

如图:

2.新建数据模型

右键点击Future.LifeWillBetter.DAL.ForModel.ConsoleApplication控制台应用程序

添加-》新建项目-》ADO.NET实体数据模型—》空EF设计器模型—》完成(具体如下图)

到此为止我的数据模型就已经创建完成了,名称:FutureLifeWiilBetterModel.edmx如图:

3添加实体模型(打开FutureLifeWiilBetterModel.edmx)

3.1添加实体

在FutureLifeWiilBetterModel.edmx中,空白处右键单击—》新增—》实体—》确定 
填写实体名称,修改实体集名称(这个是数据库中数据表的名称),以及修改属性名 
再在此实体上,右键单击—》新增—》标量属性,这里增加自己想要的字段即可,以及对此字段的属性修改。

同理即可新增多个实体

3.2 添加关系 
在FutureLifeWiilBetterModel.edmx中,空白处右键单击—》新增—》关联—》设置自己想要的关联关系—》确定

3.3 生成数据库

3.3.1 在FutureLifeWiilBetterModel.edmx中,空白处右键单击—》根据模型生成数据库—》新建连接(设置好数据库连接)—》确定—》下一步(这时会生成sql语句代码)—》完成。

点击下一步,直到完成,会生成一个SQL脚本。

我发现我的FutureLifeWiilBetterModel.edmx数据模型中的FutureLifeWiilBetterModel.tt下只有一个T_Users.cs实体类,这是双击打开FutureLifeWiilBetterModel.edmx数据模型

由于我这是以VS数据模型创建的所以我点击“根据模型生成数据库”,这是会重新生成一个SQL脚本,按照上面的步骤继续执行,然后刷新Future.LifeWillBetter.DAL.ForModel.ConsoleApplication控制台程序,这是T_UserStates.cs就出来了,也是一个同步过程!

3.4 文件简介

3.4.1 App.config  这个文件是在创建FutureLifeWiilBetterModel.edmx模型之后生成的,

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <configSections>
  4. <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  5. <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  6. </configSections>
  7. <startup>
  8. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  9. </startup>
  10. <connectionStrings>
  11. <add name="FutureLifeWiilBetterModelContainer" connectionString="metadata=res://*/FutureLifeWiilBetterModel.csdl|res://*/FutureLifeWiilBetterModel.ssdl|res://*/FutureLifeWiilBetterModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Future.LifeWillBetter2;user id=sa;password=173007740;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
  12. </connectionStrings>
  13. <entityFramework>
  14. <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  15. <providers>
  16. <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  17. </providers>
  18. </entityFramework>
  19. </configuration>

3.4.2FutureLifeWiilBetterModel.Context.tt下的FutureLifeWiilBetterModel.Context.cs 这是实体上下文类

  1. //------------------------------------------------------------------------------
  2. // <auto-generated>
  3. // 此代码已从模板生成。
  4. //
  5. // 手动更改此文件可能导致应用程序出现意外的行为。
  6. // 如果重新生成代码,将覆盖对此文件的手动更改。
  7. // </auto-generated>
  8. //------------------------------------------------------------------------------
  9.  
  10. namespace Future.LifeWillBetter.DAL.ForModel.ConsoleApplication
  11. {
  12. using System;
  13. using System.Data.Entity;
  14. using System.Data.Entity.Infrastructure;
  15.  
  16. public partial class FutureLifeWiilBetterModelContainer : DbContext
  17. {
  18. public FutureLifeWiilBetterModelContainer()
  19. : base("name=FutureLifeWiilBetterModelContainer")
  20. {
  21. }
  22.  
  23. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  24. {
  25. throw new UnintentionalCodeFirstException();
  26. }
  27.  
  28. public virtual DbSet<T_Users> T_UsersSet { get; set; }
  29. public virtual DbSet<T_UserStates> T_UserStatesSet { get; set; }
  30. }
  31. }

3.4.3 FutureLifeWiilBetterModel.tt下包含了数据实体类(也就是以数据库表为单位的实体类)

完!

Entity Framework 学习笔记(二)之数据模型 Model 使用过程的更多相关文章

  1. Entity Framework学习笔记(二)----CRUD(1)

    请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识, ...

  2. Entity Framework 学习笔记(2)

    上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...

  3. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  4. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  5. Entity Framework 学习笔记(一)之数据模型 数据库

    关于Entity Framework  数据模型 的开发有三种模式:1.引用数据库方式:2.在VS中新建EF空模型Model 方式:3.Code 方式 Entity Framework  数据模型   ...

  6. Entity Framework学习笔记(一)

    请注明转载地址:http://www.cnblogs.com/arhat 哈哈!老魏回来了,4月份的内容开始更新了,由于3月份时间都在做项目,没有时间写了,那么4月份老魏会尽可能的多写点东西的.那么4 ...

  7. Entity Framework 学习笔记

    1.自定义数据库链接字符串上下文 public class PetDbContext : DbContext { public PetDbContext() : base("name=Dem ...

  8. Entity Framework学习笔记(三)----CRUD(2)

    请注明转载地址:http://www.cnblogs.com/arhat 昨天晚上老魏配的机器终于到了,可是拿回来之后什么都组装好了,唯独差一个非常重要的组件"电源线",老魏那个汗 ...

  9. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

随机推荐

  1. maven+eclipse+mac+tomcat 多模块发布

    之前项目中有用到过maven,但是没运行过web的maven,所以这里记录一下. 项目的结构: ---master  //parent ---web-project // ---client-proj ...

  2. [译]GLUT教程 - 移动镜头3

    Lighthouse3d.com >> GLUT Tutorial >> Input >> Moving the Camera III 上一节的示例中我们用键盘更改 ...

  3. IDEA导入tomcat9源码跑起来~

    如题,这里记录一下用IDEA导入tomcat9的源码,并跑起来.看了本教程你还是不会的话直接问我. 一.环境安装以及目录搭建 tomcat9源码下载地址:http://mirrors.hust.edu ...

  4. 【文献阅读】Perceptual Generative Adversarial Networks for Small Object Detection –CVPR-2017

    Perceptual Generative Adversarial Networks for Small Object Detection 2017CVPR 新鲜出炉的paper,这是针对small ...

  5. FreeSWITCH版本更新

    [1]FreeSWITCH版本更新 从2014年10月底开始,FreeSWITCH代码库改为由stash管理,该管理工具能更好地与jira集成. 如果你以前已经clone了代码,请做如下更新: git ...

  6. Oracle Data Provider for .NET的使用(托管与非托管(一))

    目录 简单的概述 简单的使用 非托管系统要求 托管驱动系统要求 其它的注意事项 ODP.NET版本说明 安装ODP.NET 安装非托管驱动 非托管驱动绿色配置 简单的概述 ODP.NET的含义是 Or ...

  7. android--SDK Manager下载Connection to http://dl-ssl.google.com refused

    错误 Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.xml, reason: Connec ...

  8. 读书笔记-HBase in Action-第三部分应用-(1)OpenTSDB

    OpenTSDB是基于HBase的开源监控系统,能够支持上万规模集群监控和上亿数据点採集. 当中TSDB代表Time Series Database,OpenTSDB在时间序列数据的存储和查询上都做了 ...

  9. ls --color=xxx

      默认的ls是由"ls --color=auto"组成的,假如某个目录中的文件特别多,我不希望显示颜色(可以加快显示),那就需要指定单独的参数. [root@localhost ...

  10. JAVA NIO 简介 (netty源码死磕1.1)

    [基础篇]netty 源码死磕1.1:  JAVA NIO简介 1. JAVA NIO简介 Java 中 New I/O类库 是由 Java 1.4 引进的异步 IO.由于之前老的I/O类库是阻塞I/ ...