Entity Framework 代码优先 实现数据库

二,引用dll:

1、采用Nuget安装EF6.0.2;

2、采用Nuget安装MySql.Data.Entity.EF6

注意:要采用Nuget进行安装,否则可能会缺少相应的dll或者是配置信息

二、配置 web.config或app.config

1、将entitframework节点替代为:

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>

<providers>

<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices,
MySql.Data.Entity.EF6" />

<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices,
EntityFramework.SqlServer" />

</providers>

</entityFramework>

2、添加 ConnectionString节点:

<connectionStrings>

<add name="MyContext" connectionString="Data
Source=localhost;port=3306;Initial Catalog=数据库名称;user
id=Mysql的登录用户名;password=Mysql server密码;"
providerName="MySql.Data.MySqlClient"/>  连接mySQL 数据库

<add name="TestDB" connectionString="Data Source=.;Initial Catalog=MyTest;User ID=sa;Password=123456;" providerName="System.Data.SqlClient"/> MSSQL 数据库

</connectionStrings>

三 建立模型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace DBModel
{
     [Table("UserInfo")]
    public  partial class UserInfo
    {
        [Key]
        [Column(TypeName = "uniqueidentifier")]
         Guid id { get; set; }
        [Column(TypeName = "nvarchar")]
        [MaxLength(50)]
        string userName{get;set;}

[Column(TypeName = "nvarchar")]
        [MaxLength(50)]
        [DataType(DataType.Password)]
        string password { get; set; }
    }

}

四 建立数据上下文

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using DBModel;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Data.Entity.Infrastructure;
namespace DB
{
    public partial class DBContext :DbContext
    {
        public DBContext()
            : base("name=TestDB")
        {
        }

DbSet<UserInfo> UserInfo { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//移除复数表名的契约    不允许将表名变为复数形式  默认为UserInfos            modelBuilder.Conventions.Remove<IncludeMetadataConvention>();//防止黑幕交易 要不然每次都要访问 EdmMetadata这个表
        }
    }
}

时间: 2024-10-12 22:43:47

Entity Framework 代码优先 实现数据库的相关文章

爆料:为什么Entity Framework不能进行跨数据库查询

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 在上篇随笔中提到"对于跨数据库查询,我们没有找到通过LINQ to Entities实现的方法".后来仔细想想,从理论来讲,实现跨数据库查询应该不难啊,与非跨数据库查询相比,只是多了个数据库名,比如下面的非跨数据库查询语句: SELE

ASP.NET MVC+Entity Framework 4.1访问数据库

Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.net mvc数据访问 2.传统模式,先创建数据库和表,配置连接字符串,再生成模型 第一种情况的步骤: (1)使用空模板,创建ASP.NET MVC3.0(或4.0)项目,假定项目名:MVC_Student 注意:创建完项目后,项目会自动引用EF4.1 (2)在Model文件夹下,创建数据库上下文类:

让EF飞一会儿:如何用Entity Framework 6 连接Sqlite数据库

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 获取Sqlite 1.可以用NuGet程序包来获取,它也会自动下载EF6 2.在Sqlite官网上下载对应的版本:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.

在服务器中使用 Entity Framework 的 Migration 更新数据库

在开发环境中,每次我们对要对数据库进行更改,比如增加修改表字段等.改好Entity类后,我们只需在Nuget程序包管理控制台运行 update-database 脚本却可: update-database Entity Framework提供的这个Migration功能非常方便,基本上不用再打开Sql Server Management Studio了.那么如何在发布环境(服务器)中同步我们对数据库的修改呢? 一种方法是在运行 update-database 脚本加上 -verbose 或 -s

ABP .Net Core Entity Framework迁移使用MySql数据库

一.迁移说明 ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤如下. 二.迁移MySQL步骤 1. 下载项目 请到 http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET Core 2.x标签,Target Framework:选中.Net Core就可以了. 2. 移除默认SQL Server相关包 在EntityFrameworkCore项目下移除包Mi

C# CodeFirst(EF框架)代码优先创建数据库

namespace WebEF.Model{ public class ModelContext:DbContext //继承DBcontext 来自EF框架 { public ModelContext() : base("name=配置文件名") { //读取配置文件 /*配置文件的设置格式 <connectionStrings> <add name="配置文件名" connectionString="Data Source=(. .l

如何用Entity Framework 6 连接Sqlite数据库(转)

要想EF6 Code First 模式支持Sqlite 得有一下几步: 一.需要安装 sqlite-netFx451-setup-bundle-x86-2013-1.0.92.0.exe 来让VS添加Ado.net 时有sqlite可选 1) 自己去http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 下载对应.net 版本的安装文件( *注意下载文件名带bundle,这个才会对vs进行插件支持 ) 2)安装

ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创

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