NopCommerce数据迁移
来源:互联网 发布:linux printf 串口 编辑:程序博客网 时间:2024/06/06 18:29
PM> enable-migrations 已在项目“EasyWeChat.Data”中启用迁移。若要覆盖现有迁移配置,请使用 -Force 参数。 PM> add-migration 位于命令管道位置 1 的 cmdlet Add-Migration 请为以下参数提供值: Name: 20141021 正在为迁移“20141021”搭建基架。 此迁移文件的设计器代码包含当前 Code First 模型的快照。在下一次搭建迁移基架时,将使用此快照计算对模型的更改。如果对要包含在此迁移中的模型进行其他更改,则您可通过再次运行“Add-Migration 20141021”重新搭建基架。 PM> update-database 指定“-Verbose”标志以查看应用于目标数据库的 SQL 语句。 正在应用显式迁移: [201410210300003_20141021]。 正在应用显式迁移: 201410210300003_20141021。 正在运行 Seed 方法。
———-新增实体及实体映射后添加迁移文件
1.1 新增实体Link
新增实体Link,新增实体后项目结构图为:
新增的实体Link代码为:
namespace Nop.Core.Domain.Links
{
///<summary>
/// 代表一个链接
/// <para>Representsa link</para>
/// <para>zaxx 2015年8月29日14:20:01</para>
///</summary>
public classLink :BaseEntity
{
public string Name {get;set; }
public string Value {get;set; }
}
}
1.2 新增实体映射LinkMap
新增实体映射LinkMap后,项目结构图为:
新增的实体映射LinkMap代码为:
using Nop.Core.Domain.Links;
namespace Nop.Data.Mapping.Links
{
///<summary>
/// 链接映射类
/// <para>映射链接实体类Link与数据库中的数据表Links</para>
/// <para>zaxx2015年8月29日 14:20:12</para>
///</summary>
public classLinkMap :NopEntityTypeConfiguration<Link>
{
public LinkMap()
{
this.ToTable(“Links”);
this.HasKey(t => t.Id);
this.Property(l =>l.Name).HasMaxLength(100);
this.Property(l => l.Value).HasMaxLength(300);
}
}
}
1.3 添加迁移文件
因新增了实体,为达到实体与数据库表的一一对应,需要添加迁移文件。在程序包管理器控制台中,执行【增加迁移】的命令如下:
Add-Migration AddLink
执行【增加迁移】命令后,界面截图如下:
注意:增加实体类后,执行【增加迁移】命令后生成的迁移文件中的Up与Down应分别对应着创建及删除实体类对应的表的代码。如果Up、Down中没有创建、删除表的代码,则可【重新生成解决方案】,然后再执行【增加迁移】命令,应该就有相应代码了。
1.4& 更新数据库
在程序包管理器控制台中,更新数据库的命令为:Update-Database,若想看到执行更新操作时的详细信息,可以带上参数Verbose。
Update-Database -Verbose
执行更新数据库命令后程序包管理器控制台显示信息如下:
在Web.config添加
<connectionStrings><add name="NopDb" connectionString="server=.;database=Nop;uid=sa;password=12345678" providerName="System.Data.SqlClient" /></connectionStrings>
在NopObjectContext文件中添加默认构造函数
namespace Nop.Data{ /// <summary> /// Object context /// </summary> public class NopObjectContext : DbContext, IDbContext { #region Ctor public NopObjectContext(string nameOrConnectionString) : base(nameOrConnectionString) { //((IObjectContextAdapter) this).ObjectContext.ContextOptions.LazyLoadingEnabled = true; } public NopObjectContext() : base("NopDb")//添加这个默认构造函数 { //((IObjectContextAdapter) this).ObjectContext.ContextOptions.LazyLoadingEnabled = true; }
- NopCommerce数据迁移
- NopCommerce数据迁移之【开启迁移功能】
- NopCommerce数据迁移之【初次更新数据库】
- NopCommerce数据迁移之【初次添加迁移文件】
- NopCommerce数据迁移之【添加新增实体的示例数据】
- NopCommerce数据迁移之【新增实体及实体映射后添加迁移文件】
- nopCommerce新增示例数据
- nopCommerce
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- 数据迁移
- Linux命令
- tableview加入局部刷新动画reloadRowsAtIndexPaths:后出现的坑
- 简单自定义水平的ProgressBar带文字
- mysql 整理
- 如何编写最简单的MapReduce之WordCount程序
- NopCommerce数据迁移
- Redis学习笔记
- esayui弹出提示框+刷新本页面
- Mybatis学习笔记--(一)Mybatis基础
- java中的IO流分类
- bzoj2298 Problem a
- 开启快乐的程序员之旅
- android使用tinker对app进行热修复
- FastJson与Jackson生成json时的区别