1.使用Entity Framwork框架常用的技术手段Code First 和Reverse Engineer Code First

提示: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库,通过左边服务器资源管理器来查看。

时间: 2024-10-24 22:08:53

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

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

目录 一. 前言 二.问题背景 三.问题描述 四.问题解决步骤 六.总结 一. 前言 这是笔者在参与一个小型项目开发时所遇到的一个BUG,因为项目经验不足对Entity Framwork框架认识不足导致了这一BUG浪费了一天的时间,特此在这里记录.给自己一个警醒希望大家遇到相同问题能帮助到大家. 注:笔者水平有限,大家发现错误望批评指正. 二.问题背景 1.本次项目是一个ASP.NET MVC项目,因为项目比较小的关系,我们采用的是基本三层和仓储模式进行开发.2.使用的ORM框架是Entity

Spring 框架常用语法进行总结

Spring 框架常用语法进行总结: spring框架的二大主要的功能就是IOC和AOP. IOC: 控制反转(依赖注入) AOP: 面向切面编程 学习spring最好的方法就是去看官网,里面有详细的说明及使用原则 介绍spring 中的注解的使用,xml配置等目前在市面上面较少. 首先介绍Java自带的元注解 (元注解就是 能注解到注解上的注解,能用在其他注解上的注解 ) Java5.0定义了4个标准的meta-annotation类型 @Target : 用于描述注解的范围,即注解在哪用.它

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

一.Foundation框架常用结构体NSRange\CGRange.NSPoint\CGPoint.NSSize\CGSize. NSRect\CGRect 的使用 1.  基本使用: //NSRange的使用 NSRange r1 = NSMakeRange(2, 4); //第一个参数为.location 第二个参数为.length NSString *str = @"学习OC"; NSRange range = [str rangeOfString:@"学习"

Entity Framwork&mdash;&mdash;Left Join

在Entity Framework中使用left outer join 想必你们很多人都用过,但是为什么要那么用,我们一般也没去深究,这里稍微做一下探讨,不对的希望大家指正. 先准备我们的数据对象,这里使用最简单的one to many ,一个Category 对应多个Product,代码如下: class Category { public int CategoryId { get; set; } public string CategoryName { get; set; } } class

微信开发学习笔记之五(CI框架 常用封装)

<?php /** * 微信开发 大体框架及 常用函数 */ class yougame extends CI_controller{ $this->_debug = true; /*这个部分开启 则使用常量 代替所有ajax的提交 便于在浏览器端打开*/ $this->_debug_openid = '' ; //测试账号的openid $this->_appid = '' ; //你的appid $this->_sercet = ''; //你的sercet $this-

TP框架常用基础

plugins 普通插件 sysplugins 系统插件 _FILE_ 获取当前文件的完整路径dirname(_FILE_) 获取当前文件的文件夹路径 . plugins文件夹 存放插件templates文件夹 存放所有的模板templates2文件夹 追加存放所有的模板templates_c文件夹 存放临时的动态文件cache文件夹 存放缓存文件configs文件夹 存放配置文件 namespace 定义命名空间use 使用命名空间 命名空间相当于虚拟目录初始命名空间(根目录):thinkph

Entity FramWork - 在VS里面直接创建表,并同步到数据库

前面具体添加什么直接看: 1.Entity - 使用EF框架进行增删改查 - 模型先行 2.Entity - 使用EF框架进行增删改查 - 数据库先行 然后: 然后右键,可以添加[实体],也就是表.之后选择[从数据库更新模型].然后数据库中就添加了多张表.

黑马程序员_IOS开发_Objective-C学习笔记_Foundation框架常用的结构体

1.Foundation框架简介 1.1使用Foundation可以: *创建和管理集合,比如数组和字典 *访问存储在应用程序里的图片和其它资源 *创建和管理字符串 *提交和接收通知 *创建日期和时间对象 *自动发现IP网络上的设备 *操作URL流 *执行异步代码 注意:Foundation框架是默认导入的 所以不用刻意去导入 是必备的框架之一 1.2Foundation框架中一些经常接触到的结构体 由于Objective-C程序中 对象的结构体成员变量中的元素 不能通过对象直接来访问 所以我们

深入了解Entity Framework框架及访问数据的几种方式

一.前言 1.Entity Framework概要 Entity Framework是微软以ADO.NET为基础所发展出来的对象关系映射(O/R Mapping)解决方案.该框架曾经为.NET Framework的一部分,但Version 6之后从.NET Framework分离出来,可通过NuGet获取. Entity Framework利用抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (Entity),而数据字段都转换为属性 (Property),关系则转换为结合属性 (Ass