插入数据库一对多关系.net core 3.1
insert into database one to many relationship .net core 3.1
我有 table 种族和亚种族的一对多关系。 1 个种族可以有多个子种族,但 1 个子种族只能是 1 个种族。
我做了以下 类.
public class Race
{
public int ID { get; set; }
[Required]
public string RaceName { get; set; }
[Required]
[StringLength(200)]
public string RaceFeatures { get; set; }
[JsonIgnore]
public IList<SubRace> SubRaces { get; set; }
public class SubRace
{
public int Id { get; set; }
[Required]
[StringLength(50, ErrorMessage = "Only 50 characters allowed")]
public string SubRaceName { get; set; }
[Required]
[StringLength(400, ErrorMessage = "Only 400 characters allowed")]
public string SubraceFeatures { get; set; }
public int RaceID { get; set; }
public Race Race { get; set; }
}
但是我无法弄清楚我必须如何初始化这个 table 中的值。这就是我想要做的,但在尝试 运行.
时出现以下错误
System.NullReferenceException: 'Object reference not set to an instance of an object.'
API.Model.Race.SubRaces.get returned null.
if (!context.Races.Any())
{
var rc0 = new Race()
{
RaceName = "Elf",
RaceFeatures = "Darkvision. +2 Charisma",
};
var sr1 = new SubRace()
{
Race = rc0,
SubRaceName = "Wood",
SubraceFeatures = "+1 Wisdom",
};
rc0.SubRaces.Add(sr1);
context.Races.Add(rc0);
context.SaveChanges();
}
我在这里做错了什么?我似乎无法弄清楚。
您缺少 SubRaces 初始化。
var rc0 = new Race()
{
RaceName = "Elf",
RaceFeatures = "Darkvision. +2 Charisma",
SubRaces = new List<SubRace>()
};
我有 table 种族和亚种族的一对多关系。 1 个种族可以有多个子种族,但 1 个子种族只能是 1 个种族。 我做了以下 类.
public class Race
{
public int ID { get; set; }
[Required]
public string RaceName { get; set; }
[Required]
[StringLength(200)]
public string RaceFeatures { get; set; }
[JsonIgnore]
public IList<SubRace> SubRaces { get; set; }
public class SubRace
{
public int Id { get; set; }
[Required]
[StringLength(50, ErrorMessage = "Only 50 characters allowed")]
public string SubRaceName { get; set; }
[Required]
[StringLength(400, ErrorMessage = "Only 400 characters allowed")]
public string SubraceFeatures { get; set; }
public int RaceID { get; set; }
public Race Race { get; set; }
}
但是我无法弄清楚我必须如何初始化这个 table 中的值。这就是我想要做的,但在尝试 运行.
时出现以下错误System.NullReferenceException: 'Object reference not set to an instance of an object.'
API.Model.Race.SubRaces.get returned null.
if (!context.Races.Any())
{
var rc0 = new Race()
{
RaceName = "Elf",
RaceFeatures = "Darkvision. +2 Charisma",
};
var sr1 = new SubRace()
{
Race = rc0,
SubRaceName = "Wood",
SubraceFeatures = "+1 Wisdom",
};
rc0.SubRaces.Add(sr1);
context.Races.Add(rc0);
context.SaveChanges();
}
我在这里做错了什么?我似乎无法弄清楚。
您缺少 SubRaces 初始化。
var rc0 = new Race()
{
RaceName = "Elf",
RaceFeatures = "Darkvision. +2 Charisma",
SubRaces = new List<SubRace>()
};