实体框架核心外键不起作用

时间:2017-07-02 11:51:09

标签: c# frameworks entity core

   base.OnModelCreating(builder);
  builder.Entity<MottoMobilIdentityUser>()
    .HasIndex(b => b.SeoUrl)
    .IsUnique();
  builder.Entity<Company>()
    .HasOne(p => p.City)
    .WithMany(b => b.Companies)
    .HasForeignKey(p => p.CityId);

我的观看页面为@Model.Company.City.Name

但我有一个 null 错误

我的Controller类填充模型模型不为null,因为另一个数据是工作

public async Task<IActionResult> Details(int id)
{

  var data = await _companyApiController.GetCompanyById(id);
  var model = new AdminDetailsViewModel
  {

    Company = data,

  };
  return View(model);
}

和我的模特

 public int CityId { get; set; }

[ForeignKey("CityId")]
public virtual City City { get; set; }

1 个答案:

答案 0 :(得分:1)

您具有空值,导致其懒惰的评估。 只需使用Include()context.Companies.Where(r=>r.Id == Id).Include(r=>r.City).First()