外键整数数组 C#
Foreign Key int Array C#
我有相关 table。我怎样才能将此 table 中的关系保持为数组?
public int TreatmentId { get; set; }
[ForeignKey("TreatmentId")]
public virtual Treatment Treatment { get; set; }
我希望能够像这样在此处提供 TreatmentId;
当我创建一个数组并尝试迁移时,出现以下错误;
属性 'ContactPage.TreatmentId' 是 'int[]' 类型,当前数据库提供程序不支持该类型。要么更改 属性 CLR 类型,要么使用“[NotMapped]”属性或使用 'OnModelCreating'.
中的 'EntityTypeBuilder.Ignore' 忽略 属性
public int[] TreatmentId { get; set; }
[ForeignKey("TreatmentId")]
public virtual Treatment Treatment { get; set; }
你不能将整数数组保存为 FK,但是我看到有人将逗号分隔值添加为字符串,但这种设计是一种非常糟糕的做法,会给你带来很多问题。
您需要有第三个 Table(您的一个表是治疗,假设另一个是患者),例如 PatientsTreatments
:
public class PatientsTreatments
{
public int PatientId { get; set;}
public int TreatmentId { get; set;}
}
然后您需要为每个治疗添加一条新记录。
我有相关 table。我怎样才能将此 table 中的关系保持为数组?
public int TreatmentId { get; set; }
[ForeignKey("TreatmentId")]
public virtual Treatment Treatment { get; set; }
我希望能够像这样在此处提供 TreatmentId;
当我创建一个数组并尝试迁移时,出现以下错误;
属性 'ContactPage.TreatmentId' 是 'int[]' 类型,当前数据库提供程序不支持该类型。要么更改 属性 CLR 类型,要么使用“[NotMapped]”属性或使用 'OnModelCreating'.
中的 'EntityTypeBuilder.Ignore' 忽略 属性 public int[] TreatmentId { get; set; }
[ForeignKey("TreatmentId")]
public virtual Treatment Treatment { get; set; }
你不能将整数数组保存为 FK,但是我看到有人将逗号分隔值添加为字符串,但这种设计是一种非常糟糕的做法,会给你带来很多问题。
您需要有第三个 Table(您的一个表是治疗,假设另一个是患者),例如 PatientsTreatments
:
public class PatientsTreatments
{
public int PatientId { get; set;}
public int TreatmentId { get; set;}
}
然后您需要为每个治疗添加一条新记录。