提示:VS版本2013,  Entity Framwork版本5.0.0,Mysql数据库 

使用Entity FrameWork的好处就不多说,直接上手如何使用。两种形式:1.将代码映射到数据库实体,使用的是Code First技术。2.将数据库实体转成代码,使用的是Reverse Engineer Code Fist技术。

一.Code First技术

1.建好项目,并加入一个名为CodeFirstDemo控制台应用程序项目。

2.配置。工具>>库程序包管理>>管理解决方案的NUGet程序包__安装EntityFramework.

这样在CodeFirstDemo项目中就自动添加了EntityFramwork的引用。

接下来就是App.config的设置,重点就是连哪个数据库,创建数据库的名称。

默认是这样:

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0"/>
</parameters>
</defaultConnectionFactory>
</entityFramework>

可以删除,加入

<connectionStrings>
<add name="BookContext" connectionString="server=localhost;user id=user;password=******;persistsecurityinfo=True;database=Book"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>

可以看到,我们是在MySql中创建的名为Book的数据库。

3.开始写代码

namespace CodeFirstDemo
{
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
[Key]
public int Code { get; set; }
}
public class BookContext : DbContext
{
public DbSet<Book> Books { get; set; }
}
class Program
{
static void Main(string[] args)
{
using (var db = new BookContext())
{
Book book1 = new Book{ Title = "编程语言",
Author ="李昊"};
db.Books.Add(book1); Book book2 = new Book{ Title = "C#语言",
Author = "李大昊"};
db.Books.Add(book2);
db.SaveChanges(); var queryResult = from b in db.Books
orderby b.Title
select b;
foreach (var item in queryResult)
{
Console.WriteLine(item.Title+"..."+item.Author);
}
Console.ReadKey(); } }
}
}

4.可以查看数据库中是否存在这样的数据 方法有两个。第一个借助MySql查看工具Navicat for MySql。第二种工具>>连接数据库>>连接MySql中的book库,通过左边服务器资源管理器来查看。

1.使用Entity Framwork框架常用的技术手段Code First 和Reverse Engineer Code First的更多相关文章

  1. 记录一次BUG修复-Entity Framwork SaveChanges()失效

    目录 一. 前言 二.问题背景 三.问题描述 四.问题解决步骤 六.总结 一. 前言 这是笔者在参与一个小型项目开发时所遇到的一个BUG,因为项目经验不足对Entity Framwork框架认识不足导 ...

  2. Spring 框架常用语法进行总结

    Spring 框架常用语法进行总结: spring框架的二大主要的功能就是IOC和AOP. IOC: 控制反转(依赖注入) AOP: 面向切面编程 学习spring最好的方法就是去看官网,里面有详细的 ...

  3. Entity Framwork db First 中 Model验证解决办法。

    由于项目中用到 Entity Framwork db First     每次从数据库生成数据模型之后都会把模型更新. 只要有一个表更新.所有的类都会重新生成. 在网上找了各种例子都是差不多的, 可能 ...

  4. 从头开始-07.Foundation框架常用结构体

    一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRa ...

  5. Bootstrap框架常用总结

    Bootstrap框架常用标签:    标题标签:<h1>-<h6>        bootstrap中也设置的相同的样式  - 若要使用 必须使用空标签来定义 比如<s ...

  6. Gin-Go学习笔记八:Gin-Web框架 常用的包

    常用的包 1>     在java,.net,php,node.js等语言常常会使用到包的概念.包的使用,可以加快项目的进度的开发,以及更好的实现项目的效果.我在网上查到了包的作用如下: 1.包 ...

  7. 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法

    Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...

  8. TP框架常用(一)

    25.显示最后一条查询的sql语句:主要用于在连贯操作时,检测拼接的sql语句是否正确 echo $this->db->last_query();//如:select * from pt_ ...

  9. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

随机推荐

  1. jquery checkbox的相关操作——全选、反选、获得所有选中的checkbox

    1.全选 $("#btn1").click(function(){ $("input[name='checkbox']").attr("checked ...

  2. Maven下java.lang.NoClassDefFoundError

    本文转载自:http://blog.csdn.net/qqhjqs/article/details/51491516 使用maven管理web项目中jar包之间的依赖,非常的方便好用,但是有时也会出现 ...

  3. Best Practices for Performance_4.Optimizing Battery Life 获取充电状态、电池信息,"sticky"类型的广播

    http://developer.android.com/training/monitoring-device-state/index.htmlhttp://developer.android.com ...

  4. [LeetCode] 14. Longest Common Prefix

    Write a function to find the longest common prefix string amongst an array of strings. public class ...

  5. Docker Registry服务启动过程浅析

    当我们pull一个registry镜像或者自己制作一个镜像之后,使用命令docker run -d -p 5000:5000 registry,就可以启动一个私有容器服务,那么究竟是怎么做到的呢? 首 ...

  6. .NET文件跨服务器上传下载

    环境说明:两台服务器服务器为A,服务器为B,服务器B为文件服务器 1.在A和B上创建用户docshareuser,用户名和密码保持一致 2.B服务器上设置附件文件夹Attachments共享,添加用户 ...

  7. TRIGGER_15.8.3BACKUP

    1 CREATE OR REPLACE TRIGGER "XMV502"."ADDAREA12" before insert on bd_areacl for ...

  8. Javascript 技巧集(1)

    1. 数组克隆, 使用 slice() 方法 var a1 = [1,2,3,4]; var a2 = a1.slice(); 2. 强制将变量值转化为 bool 类型,前置双感叹号 !! var a ...

  9. Node.js文件系统、路径的操作详解

    17173 17173 2 75 2014-12-12T05:06:00Z 2014-12-12T05:06:00Z 21 2735 15595 www.17173.com 129 36 18294 ...

  10. maven scope含义的说明

    依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中.让我们详细看一下每一种范围: compile (编译范围) compile是默认的范围:如果没有提供一个范围,那该依赖的 ...