计数为1的SqlParameterCollection索引为1无效

本文关键字:索引 无效 SqlParameterCollection | 更新日期: 2023-09-27 18:12:08

我注意到的是,在Ncv中,我引用的报告字段没有生成。下面是我收到的错误:

这是我的域名看起来像,我收到的错误是无效的索引1为这个SqlParameterCollection计数=1。

public class NcvMap : SubclassMap<Ncv>
{
    public NcvMap()
    {
        HasManyToMany<Document>(x => x.Technician)
            .Cascade.All();
        HasManyToMany<Document>(x => x.Neurologist)
            .Cascade.All();
        HasManyToMany<Document>(x => x.Transcriber)
            .Cascade.All();
        References<Document>(x => x.Report).Nullable();
    }
}
public class Ncv : Report
{
    public virtual IList<Document> Technician { get; private set; }
    public virtual IList<Document> Neurologist { get; private set; }
    public virtual IList<Document> Transcriber { get; private set; }
    public virtual Document Report { get; set; }
    public virtual NcvType Type { get; set; }
    public Ncv()
    {
        this.Technician = new List<Document>();
        this.Neurologist = new List<Document>();
        this.Transcriber = new List<Document>();
    }
}
public class Report : BaseModel
{
    public virtual Patient Patient { get; set; }
    public virtual ReportStatus Status { get; set; }
    public virtual DateTime Appointment { get; set; }
    public virtual long Kareo_id { get; set; }
    public virtual IList<ReportLog> Logs { get; private set; }
    public Report() 
    {
        this.Status = ReportStatus.New;
        this.Logs = new List<ReportLog>();
    }
    public virtual void AddLog(ReportLog log)
    {
        log.Report = this;
        this.Logs.Add(log);
    }
}
public class ReportMap : ClassMap<Report>
{
    public ReportMap()
    {
        Id(x => x.Id);
        Map(x => x.CreateDate);
        Map(x => x.LastModified);
        Map(x => x.Appointment);
        Map(x => x.Status).CustomType<int>();
        Map(x => x.Kareo_id);
        HasMany<ReportLog>(x => x.Logs)
            .Cascade.All();
        References<Patient>(x => x.Patient);
    }
}

计数为1的SqlParameterCollection索引为1无效

问题是在

public class Ncv : Report

我将映射引用命名为与类"Report"相同的名称

public virtual Document Report { get; set; }

所以不要用与类相同的名字命名你的属性。它破坏了CreateSchema