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

Entity Framework  数据模型  引用"引用数据库方式"进行开发创建的使用,具体如下:

开发环境:VS2012

数据库:SQL Server 2008

Entity Framework  版本:6.12

1.新建数据库

在数据库中新建数据库,并创建数据表,以下截图只供参考:

2.新建项目

在VS中新建一个控制台应用程序 Future.LifeWillBetter.DAL.ForDBConsoleApplication

3.新建数据模型

右击 Future.LifeWillBetter.DAL.ForDBConsoleApplication-》  添加—》新建项

点击”新建连接“,这是一个连接数据库的;然后找到刚才新建的数据,并选中如下图

点击确定,完成之后,直接下一步.

直接下一步.

,当然也可以选择视图,存储过程,然后点击完成。

然后会生成一个FutureLifeWillBetterDALForDBModel.edmx数据模型,如图:

4.数据模型扩展使用

在开发中不可能不会新加数据表或者存储过程以及视图,所以要知道怎么扩展!

①我在数据库Future.LifeWillBetter中,新建一张表

CREATE TABLE [dbo].[T_Comments](
[Id] [int] IDENTITY(,) NOT NULL,
[ArticleId] [int] NULL,
[AuthorName] [nvarchar]() NULL,
[Contents] [nvarchar](max) NULL,
[PubDate] [datetime] NULL
) GO

这样的话,我的数据表就新建成功了,下一步就是更新我们的FutureLifeWillBetterDALForDBModel.edmx数据模型

双击打开FutureLifeWillBetterDALForDBModel.edmx 在空白处右击,从”数据库更新模型“

点击确定,会出现一个刚开始选择数据表、视图、存储过程的窗体,继续...

我全部勾选,然后点击完成,点击完成之后记得保存数据模型文件即:FutureLifeWillBetterDALForDBModel.edmx;这样我们就能在FutureLifeWillBetterDALForDBModel.edmx这个数据模型的FutureLifeWillBetterDALForDBModel.tt看到一个T_Comments实体类;

这是我们新增数据表,当然如果我们删除数据表也可以用同样的方式,将数据模型中的实体删除。

5.数据模型,文件介绍

①App.config :配置文件,此文件已包含实体数据的数据库链接等基本信息

<?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="Entities" connectionString="metadata=res://*/FutureLifeWillBetterDALForDBModel.csdl|res://*/FutureLifeWillBetterDALForDBModel.ssdl|res://*/FutureLifeWillBetterDALForDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=Future.LifeWillBetter;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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>

②FutureLifeWillBetterDALForDBModel.Context.cs:实体数据模型的上下文(FutureLifeWillBetterDALForDBModel.Context.tt下)
③FutureLifeWillBetterDALForDBModel.tt:这个下面包含了具体的实体(也就是以数据库表为单位的类)

再次看下目录结构,如图:

完!

Entity Framework 学习笔记(一)之数据模型 数据库的更多相关文章

  1. Entity Framework 学习笔记(2)

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

  2. Entity Framework学习笔记

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

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

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

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

    Entity Framework  数据模型 Model 创建的使用: 开发环境:VS2012 数据库:SQL Server 2008 Entity Framework  版本:6.12 下面是新建的 ...

  5. Entity Framework学习笔记(一)

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

  6. Entity Framework 学习笔记

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

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

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

  8. Entity Framework学习笔记——记一个错误解决方式及思路

    继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...

  9. Entity Framework学习笔记——配置EF

    初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...

随机推荐

  1. android studio改动module名称

    新建一个android studio项目,默认Module名称是app 右键app选择Rename,或者Shift + F6也能够.重命名module名称 重命名为abc之后中,如图上面箭头所指的ap ...

  2. spring源码解析之IOC容器(二)------加载和注册

    上一篇跟踪了IOC容器对配置文件的定位,现在我们继续跟踪代码,看看IOC容器是怎么加载和注册配置文件中的信息的.开始之前,首先我们先来了解一下IOC容器所使用的数据结构-------BeanDefin ...

  3. .net验证控件,导航控件

    一.客户端验证(用户体验,减少服务器端压力) 二.服务器端验证(防止恶意攻击,客户端js很容易被绕过) 验证控件:RequiredFieldValidator:字段必填:RangeValidator: ...

  4. android 常用方法总结

    public class Toolkit { /** * * Role:Telecom service providers获取手机服务商信息 <BR> * * 需要加入权限<uses ...

  5. nginx 的uri、request_uri 区别

    在nginx中有几个关于uri的变量,包括$uri $request_uri $document_uri,下面看一下他们的区别 : $request_uri: /stat.php?id=1585378 ...

  6. 程序包 javax.servlet 不存在 解决办法

    其原因是java编译器没有找到软件包javax.servlet. 下载servlet.jar放到lib下没有效果,后发现需要在jdk中添加,如下: 解决办法: 从tomcat lib目录下拷贝一个se ...

  7. 多媒体开发之--- h264 图像、帧、片、NALU

    图像.帧.片.NALU 是学习 H.264的人常常感到困惑的一些概念,我在这里对自己的理解做一些阐述,欢迎大家讨论: H.264 是一次概念的革新,它打破常规,完全没有 I 帧.P帧.B 帧的概念,也 ...

  8. tornado+ansible+twisted+mongodb运维自己主动化系统开发(四)

    这周好忙,依据之前的写了个简陋的demo.放在腾讯的云主机上了,大家多交流哈 demo地址 http://203.195.193.251/

  9. Effective C++ 49,50

    49.熟悉标准库. C++标准库非常大. 首先标准库中函数非常多,为了避免名字冲突.使用命名空间std.而之前的库函数都存放于< .h>中,如今成为伪标准库.而不能直接将这些头文件所有直接 ...

  10. DLX精确覆盖与重复覆盖模板题

    hihoCoder #1317 : 搜索四·跳舞链 原题地址:http://hihocoder.com/problemset/problem/1317 时间限制:10000ms 单点时限:1000ms ...