Migrations.cs未成功创建
本文关键字:创建 未成功 cs Migrations | 更新日期: 2023-09-27 18:18:41
我正在使用webmatrix创建名为"sms"的果园cms新模块。我成功地创建了它,但是当我生成"migration .cs"时,它没有成功生成。
模型中的sms.cs
类如下
using System.Collections.Generic;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Records;
namespace SMSs.Model{
public class smsrecord:ContentPartRecord
{
public virtual int ID{get;set;}
public virtual string Name{get;set;}
public virtual char is_deleted{get;set;}
}
public class smspart:ContentPart<smsrecord>
{
[Required]
public int ID
{
get{return ID=Record.ID;}
set{Record.ID=value;}
}
public string Name
{
get{return Name=Record.Name;}
set{Record.Name=value;}
}
public char is_deleted
{
get{return is_deleted=Record.is_deleted;}
set{Record.is_deleted=value;}
}
}
,生成的Migrations.cs
类如下
using System;
using System.Collections.Generic;
using System.Data;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.MetaData;
using Orchard.ContentManagement.MetaData.Builders;
using Orchard.Core.Contents.Extensions;
using Orchard.Data.Migration;
namespace sms {
public class Migrations : DataMigrationImpl {
public int Create() {
return 1;
}
}
}
"migrations.cs"没有成功生成,为什么??请帮助
类本身是正确生成的,尽管它缺乏创建适当表的代码,因为您没有遵守记录类的命名约定。
数据迁移代码生成需要遵循几个约定,以使其正常工作。例如:
- 记录的命名空间必须以
.Models
或.Records
结尾 - 必须存在一个名为
Id
的公共属性 - 所有属性必须是虚拟的(无论如何NHibernate都需要)
- 类不能密封
- 类不能是抽象的
- 类必须实现
IContent
或ContentPartRecord
的子类
在您的示例中,名称空间(应该以.Models
结尾)和ID
的大小写错误(应该是Id
)是罪魁祸首。