当前位置:首页 » 数据仓库 » codefirst怎么转移数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

codefirst怎么转移数据库

发布时间: 2022-09-09 07:43:09

‘壹’ asp.net 中 EF code first DbContext分别是什么,修改模型后,一定要迁移吗

DbContext是根据connectionString生成的数据库上下文类,具体的使用可以参见微软的msdn,如果是修改了模型的话,不要手动修改生成的代码,建议使用迁徙,因为有些文件手动修改后,再次运行就会覆盖代码,如果使用的是mvc迁徙比较容易,msdn有关于ef的迁徙,如果是webform的话,code first和model first迁徙很容易失败,最好使用database first,然后在model设计器中选择根据DB更新模型,再编译的话会更新相应的代码。

‘贰’ code first发布后怎么初始化数据库

seed函数内容添加的时候,你的codefirst 代码没有更新,所以Seed函数没有被调用。 Migration只检查数据库的机构有没有发生变化,如果发生了变化,它会调用Seed方法重新初始化数据库。但是如果数据库已经存在而且与你的当前代码一致

‘叁’ entity framework codefirst 不能创建数据库表。

使用Entity Framework CodeFirst模式创建新数据库
开发环境
Visual Studio 2010 SP1
sql Server Compact 4.0
演练步骤
打开Visual Studio;
新建Console应用程序Known.EFDemo;
创建Blog模型;public class Blog
{
public int Id { get; set; }
public string Name { get; set; }
public List<Post> Posts { get; set; }
}

public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}


右击项目->管理NuGet程序包,搜索Entity Framework并安装;或使用程序包管理器控制台运行命令Install-Package EntityFramework;
创建BlogContext;

public class BlogContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
}


修改App.config文件,配置ConnectionString和SQL Server Compact数据提供者工厂;<connectionStrings>
<add name="BlogContext" connectionString="Data Source=|DataDirectory|Blog.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>


修改Program并运行,成功后,可以在服务器资源管理器中查看自动生成的表结构及数据。using (var context = new BlogContext())
{
Console.WriteLine("请输入博客名称:");
var name = Console.ReadLine();
var blog = new Blog { Name = name };
blog.Posts = new List<Post>();

Console.WriteLine("请输入随笔标题:");
var title = Console.ReadLine();
Console.WriteLine("请输入随笔内容:");
var content = Console.ReadLine();
blog.Posts.Add(new Post { Title = title, Content = content });

context.Blogs.Add(blog);
context.SaveChanges();

Console.WriteLine("保存成功!");
}


当模型改变时,可以使用命令自动迁移数据库,配置命令:Enable-Migrations –EnableAutomaticMigrations ;更新命令:Update-Database –Verbose 。

‘肆’ EF CodeFirst 怎么来更新已存在的数据库结构

本地更新或者开发环境可以直接连上数据库的,直接在Package Manager Console(包管理器控制台)输入:update-database -〉回车执行OK
自动更新方法:
在程序初次运行时增加Database.SetInitializer(new <DbContext, Configuration>());

DbContext是你数据库连接的context,
Configuration是你程序Migrations里的,如果不在一个项目里,要将Configuration类改为public。
直接运行程序OK,
有人问web版的怎么弄,放在哪?
找到目录下的Global.asax,加到 Application_Start 里就OK了

‘伍’ EF中的code first模式 怎么创建数据库

方法/步骤

  • 1

    EF的Code First模式不需要我们创建什么数据向导,直接写代码就行了。我们用NET最简单的控制台应用程序来说明。如下图所示

  • 7

    通过以上的步骤,你感觉到EF的Code First模式的魅力了没,自动创建数据库以及表。这也是现在应用最多的模式了,好了,这次分享就到这里。有什么问题的话,留言咨询即可。

‘陆’ EF 6.x Code First 求教数据库字段不映射到实体类的方法

你是想数据库不要外键 但是实体要导航属性吧 需求蛮奇特的 你实体也不加导航属性 需要关联数据的时候用 JOIN 查询 重新EF接口 在生成数据库的时候 只解释生成关系

‘柒’ 如何使用CodeFirst进行数据迁移

如果你还在为
支持xxx上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库
找到你的数据库上下文所在的类库(一般都是写在项目中的model中,也有的独立model类库)
打开Nuget 程序包管理控制台
输入:Enable-Migrations 回车
如果正确的话 则显示已为项目 xxx启用 Code First 迁移。
我在这里说下 几种有可能出现的错误:
1.No context type was found in the assembly xxx
在当前项目中 没有找到数据库上下文,也就是DbContext 继承的的 "数据库.cs"
2.The EntityFramework package is not installed on project xxx
当前项目已经找到了数据上下文,但是没有EntityFrameWork 需要安装输入 install-package entityframework(手大的 不知道对不对)
基本就这两个问题,如果安装成功则在项目中 出现Migrations文件夹,里面会记录每次数据迁移所发生的变化。
非常好用,不用再删除数据库 重新生成 数据丢失等问题。
常用语句 :enable-Migrations -Force 替换迁移数据文件 update-database 更新 add-migration 添加新的更新文件

‘捌’ 如何使用CodeFirst进行数据迁移

如果你还在为 支持xxx上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库 找到你的数据库上下文所在的类库(一般都是写在项目中的model中,也有的独立model类库) 打开Nuget 程序包管理控制台 输入:Enable-Migrations 回车 如果正确的话 则显示已为项目 xxx启用 Code First 迁移。 我在这里说下 几种有可能出现的错误: 1.No context type was found in the assembly xxx 在当前项目中 没有找到数据库上下文,也就是DbContext 继承的的 "数据库.cs" 2.The EntityFramework package is not installed on project xxx 当前项目已经找到了数据上下文,但是没有EntityFrameWork 需要安装输入 install-package entityframework(手大的 不知道对不对) 基本就这两个问题,如果安装成功则在项目中 出现Migrations文件夹,里面会记录每次数据迁移所发生的变化。 非常好用,不用再删除数据库 重新生成 数据丢失等问题。 常用语句 :enable-Migrations -Force 替换迁移数据文件 update-database 更新 add-migration 添加新的更新文件

‘玖’ mvc3里使用codefirst,连接sqlserver 数据库怎么连

你新建MVC3项目的时候,有个选择项目模板,不要选成空,选Internet应用程序,然后里面就有基本的登录代码