Orchardcms 更新功能时出错

Orchardcms 更新功能时出错,orchardcms,Orchardcms,我的OrchardCMS迁移有问题,以下代码迁移失败(因为我创建ContentItem是为了说明原因),创建内容类型时会出现错误: public class Migrations : DataMigrationImpl { private readonly IContentManager _contentManager; public Migrations(IContentManager contentManager) { _contentM

我的OrchardCMS迁移有问题,以下代码迁移失败(因为我创建ContentItem是为了说明原因),创建内容类型时会出现错误:

       public class Migrations : DataMigrationImpl {
    private readonly IContentManager _contentManager;
    public Migrations(IContentManager contentManager)
    {
        _contentManager = contentManager;
    }

    public int Create() {
        SchemaBuilder.CreateTable("MedioPartRecord", table => table
            .ContentPartRecord()
            .Column<string>("Identificador")
            .Column<string>("Matricula")
            .Column<string>("NumeroSistemaGPS")
            .Column<string>("Observaciones")
            .Column("Matriculacion",DbType.DateTime)
            .Column<int>("IdTipoMedio")
            .Column("InicioTrabajo", DbType.DateTime)
            .Column<int>("Kms"));

        ContentDefinitionManager.AlterTypeDefinition("TipoMedio", type => type
             .Creatable()
             .WithPart("TitlePart")
             .WithPart("CommonPart"));


      ContentDefinitionManager.AlterPartDefinition(typeof(MedioPart).Name, part => part.Attachable());
       ContentDefinitionManager.AlterTypeDefinition("Medio", type => type
            .Creatable()
            .WithPart("CommonPart")
            .WithPart("MedioPart")
            );

        return 1;
    }
    public class MedioPartRecord : ContentPartRecord {
    public virtual string Identificador { get; set; }
    public virtual string Matricula { get; set; }
    public virtual string NumeroSistemaGPS { get; set; }
    public virtual string Observaciones { get; set; }
    public virtual DateTime Matriculacion { get; set; }
    public virtual DateTime InicioTrabajo { get; set; }
    public virtual int IdTipoMedio { get; set; }
    public virtual int Kms { get; set; }


}




public class MedioPart : ContentPart<MedioPartRecord>
{
    public virtual int IdTipoMedio { get { return Record.IdTipoMedio; } set { Record.IdTipoMedio = value; } }
    public virtual string Identificador { get { return Record.Identificador; } set { Record.Identificador = value; } }
    public virtual string Matricula { get { return Record.Matricula; } set { Record.Matricula = value; } }
    public virtual string NumeroSistemaGPS { get { return Record.NumeroSistemaGPS; } set { Record.NumeroSistemaGPS = value; } }
    public virtual string Observaciones { get { return Record.Observaciones; } set { Record.Observaciones = value; } }
    public virtual DateTime Matriculacion { get { return Record.Matriculacion; } set { Record.Matriculacion = value; } }
    public virtual DateTime InicioTrabajo { get { return Record.InicioTrabajo; } set { Record.InicioTrabajo = value; } }
    public virtual int Kms { get { return Record.Kms; } set { Record.Kms = value; } }


}

    public class MedioPartHandler : ContentHandler {
    public MedioPartHandler(IRepository<MedioPartRecord> repository)
    {
        Filters.Add(StorageFilter.For(repository));
    }
}
公共类迁移:DataMigrationImpl{
私有只读IContentManager\u contentManager;
公共迁移(IContentManager contentManager)
{
_contentManager=contentManager;
}
公共int创建(){
CreateTable(“MedioPartRecord”,table=>table
.ContentPartRecord()
.栏(“标识人”)
.专栏(“Matricula”)
.列(“NumeroSistemaGPS”)
.栏(“观察者”)
.Column(“Matriculacion”,DbType.DateTime)
.栏(“IdTipoMedio”)
.Column(“InicioTrabajo”,DbType.DateTime)
。栏(“Kms”);
ContentDefinitionManager.AlterTypeDefinition(“TipoMedio”,type=>type
.createable()
.附部分(“标题部分”)
.附部分(“公共部分”);
ContentDefinitionManager.AlterPartDefinition(typeof(MedioPart).Name,part=>part.Attachable());
ContentDefinitionManager.AlterTypeDefinition(“Medio”,类型=>type
.createable()
.带部分(“公共部分”)
.附部分(“MedioPart”)
);
返回1;
}
公共类MedioPartRecord:ContentPartRecord{
公共虚拟字符串标识符{get;set;}
公共虚拟字符串矩阵{get;set;}
公共虚拟字符串NumeroSistemaGPS{get;set;}
公共虚拟字符串Observaciones{get;set;}
公共虚拟日期时间矩阵{get;set;}
公共虚拟日期时间InicioTrabajo{get;set;}
公共虚拟整数IdTipoMedio{get;set;}
公共虚拟整数Kms{get;set;}
}
公共类MedioPart:ContentPart
{
公共虚拟int IdTipoMedio{get{return Record.IdTipoMedio;}set{Record.IdTipoMedio=value;}}
公共虚拟字符串identificator{get{return Record.identificator;}set{Record.identificator=value;}
公共虚拟字符串Matricula{get{return Record.Matricula;}set{Record.Matricula=value;}
公共虚拟字符串NumeroSistemaGPS{get{return Record.NumeroSistemaGPS;}set{Record.NumeroSistemaGPS=value;}
公共虚拟字符串Observaciones{get{return Record.Observaciones;}set{Record.Observaciones=value;}
公共虚拟日期时间矩阵{get{return Record.Matriculacion;}set{Record.Matriculacion=value;}
public virtual DateTime InicioTrabajo{get{return Record.InicioTrabajo;}set{Record.InicioTrabajo=value;}}
公共虚拟int Kms{get{return Record.Kms;}set{Record.Kms=value;}
}
公共类MedioPartHandler:ContentHandler{
公共医疗搬运器(IRepository repository)
{
Filters.Add(StorageFilter.For(repository));
}
}

谢谢

问题是我忘了将datetime设置为可空类型。

请在此处发布stacktrace或日志文件内容。没有主题,我们无法帮助您。日志中没有任何内容,在跟踪中唯一相关的部分在下面(包括异常):NHibernate.dll中发生类型为“NHibernate.Exceptions.GenericADOException”的首次意外异常无法插入:[ayun.gdr.Models.MedioPartRecord#18][SQL:插入ayun_gdr_MedioPartRecord(Identificator、Matricula、NumeroSistemaGPS、Observacions、Matriculacion、InicioTrabajo、Idtipedio、Kms、Id)值(?,,,,,,,?)]如果发生异常,则绝对会生成一个日志文件。只需删除日志目录中的所有文件,然后再次运行代码,并在此处发布日志文件的内容。