Entity Framework 学习笔记(二)之数据模型 Model 使用过程

欢迎大家加入我们:ASP.NET交流群(1群)

ExtJs4.2交流群(3群) 97869295

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模型之后生成的,

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <connectionStrings>
    <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" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

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

//------------------------------------------------------------------------------
// <auto-generated>
//     此代码已从模板生成。
//
//     手动更改此文件可能导致应用程序出现意外的行为。
//     如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------

namespace Future.LifeWillBetter.DAL.ForModel.ConsoleApplication
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;

    public partial class FutureLifeWiilBetterModelContainer : DbContext
    {
        public FutureLifeWiilBetterModelContainer()
            : base("name=FutureLifeWiilBetterModelContainer")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }

        public virtual DbSet<T_Users> T_UsersSet { get; set; }
        public virtual DbSet<T_UserStates> T_UserStatesSet { get; set; }
    }
}

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

完!

时间: 2024-10-18 10:53:28

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

Entity Framework 学习笔记(2)

上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// Context相当于一个数据库 /// </summary> public class MusicContext : DbContext { //base("LocalDB")表示要用到config文件中的名为"LcoalDB"的连接字符串 public

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

ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject 添加实体 将实体添加到集合中, 创建实体时,状态为EntityState.Detached 当调用AddObject将实体添加到Context时,状态为EntityState.Added myContext context = new myContext(); myTab r = new myTab(

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

关于Entity Framework  数据模型 的开发有三种模式:1.引用数据库方式:2.在VS中新建EF空模型Model 方式:3.Code 方式 Entity Framework  数据模型  引用"引用数据库方式"进行开发创建的使用,具体如下: 开发环境:VS2012 数据库:SQL Server 2008 Entity Framework  版本:6.12 1.新建数据库 在数据库中新建数据库,并创建数据表,以下截图只供参考: 2.新建项目 在VS中新建一个控制台应用程序 F

Entity Framework学习笔记——edmx文件

上文简单介绍了一下Entity FrameWork,这里说一下EF的核心--edmx文件. 在VisualStudio中建立edmx文件(此例环境为VisualStudio2012) 1.新建-ADO.NET实体数据模型: 2.选择数据模型时,因为我之前已经在数据库中建立好表了,所以我们这里先选择从数据库生成(即DB First),如果选择空模型,就可以在没有建立数据库的情况下,通过先建立实体模型来生成实体类和数据库表. 3.选择数据库连接 4.选择或设置好连接的服务器.验证信息.数据库名: 5

Entity Framework 学习笔记

1.自定义数据库链接字符串上下文 public class PetDbContext : DbContext { public PetDbContext() : base("name=DemoDB") { } public DbSet<Dog> Dogs { get; set; } } 2.Code First 模型迁移相关命令 Enable-Migrations 启用模型迁移,会自动建立Migrations文件夹,里面记录模型修改历史 Add-Migration AddT

Entity Framework 学习笔记(1)

from:http://www.cnblogs.com/Richeir/p/5347000.html 开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/ 微软喜欢把Entity Framework和ASP.NET MVC放在一起来用,从Entity Framework的主页的所有者就可以看出来 当然,这两者也是紧密的结合在一起的,“新一代”Web开发框架和“新

Entity Framework学习(二) - Entity Framework Automatic Detect Changes

When using most POCO entities the determination of how an entity has changed (and therefore which updates need to be sent to the database) is handled by the Detect Changes algorithm. Detect Changes works by detecting the differences between the curre

Entity Framework学习笔记——EF简介(一篇文章告诉你什么是EF)

Entity Framework是以ADO.NET为基础,面向数据的"实体框架".以下简称EF. 它利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问. 个人认为百科上对EF一句比较经典的解释为:让上层的应用程序码可以如面向对象的方式般访问数据. 过去我们对数据库都是直接

【.NET-EF】Entity Framework 学习笔记5:懒人的Linqer

真的没有做不到,只有你想不到,当苦恼Linq写法很别扭,一点不像SQL(写SQL写习惯了),就想到有没一个工具可以把SQL语句转成Linq语句,然后就搜到了这个工具:Linqer. 很简单的工具(越简单越好),网上搜索下一下,打开来(有些要安装,我这个不用),连下数据库,再点Generate to LinQ找个地方给它放,就可以开始是使用. 对于刚刚学习,和转不过弯的我有很好的帮助.(谢谢作者大神)