首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未成功创建Migrations.cs

未成功创建Migrations.cs
EN

Stack Overflow用户
提问于 2014-08-18 12:17:31
回答 1查看 111关注 0票数 1

我正在创建新的模块,称为"sms“在果园cms使用网络矩阵。我成功地创建了它,但是当我生成"migrateions.cs“时,它没有成功地生成。

下面给出了我在模型中的sms.cs

代码语言:javascript
复制
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类如下所示

代码语言:javascript
复制
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“没有成功生成,为什么??请帮帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-18 18:39:47

类本身是正确生成的,尽管它缺乏创建适当表的代码,因为您没有遵守记录类的命名约定。

数据迁移代码生成要求您遵循几种约定,才能使其正常工作。即:

  • 记录的命名空间必须以.Models.Records结尾。
  • 必须存在一个名为Id的公共属性。
  • 所有属性都必须是虚拟的(无论如何,NHibernate是必需的)
  • 类不能密封。
  • 类不能是抽象的。
  • 类必须实现IContent或成为ContentPartRecord的子类。

在您的例子中,名称空间(应该以.Models结尾)和ID的不正确大小写(应该是Id)是罪魁祸首。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25363107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档