我正在使用带有脚手架的CRUD剃须刀页面的EF Core。 在我的父类中,我具有3个子表的属性及其ID的属性。 值正确显示在任何地方(查看详细信息,编辑,在网格中……没问题。) 在尝试创建新记录时,它们会正确显示(在下拉列表中)。
父母阶级
public class Sample
{
public int Id {get; set;}
public int CityId { get; set; }
public City City { get; set; }
public int StateId { get; set; }
public State State { get; set; }
public int CountyId { get; set; }
public County County { get; set; }
public DateTimeOffset DateReceived { get; set; }
public DateTimeOffset DateCreated { get; set; }
public string DistributedTo { get; set; }
}
城市阶层
public class City
{
public int Id {get; set;}
public string value {get; set;}
}
其他两个查找都以相同的方式完成。
除了创建新记录时,所有其他东西都可以正常工作
CityId
,StateId
,CountyId
中)因此,例如,如果我在State下拉列表中选择ID:1的值,而不是在Sample.StateId
中输入1,则在State表中创建ID = 51,Vallue = 1的新记录然后将51放在Sample.StateId
列中。
保存新记录的代码:
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Samples.Add(Sample);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
我的Context类的相关部分:
public DbSet<Sample> Samples { get; set; }
public DbSet<City> Cities { get; set; }
public DbSet<State> States { get; set; }
public DbSet<County> Counties { get; set; }