我新的ASP.NET MVC和Entity Framework。我正在使用Code First方法创建一个汽车经销商项目。我有3个表(类):
从3个相关的表ASP.NET MVC 5 EF代码第一次加载数据
车,用于存储车数据
CarBrand,用于存储像福特,菲亚特,宝马...
CarModel品牌,用于存储模型,如嘉年华,熊猫,318 .. 。
汽车类有一个FK到CarModel类。 的CarModel类有一个FK到CarBrand。
这里有我的课:
public class Car
{
public int Id { get; set; }
public string Description{ get; set; }
public decimal Price{ get; set; }
public CarModel CarModel { get; set; }
public int CarModelId { get; set; }
..... (more properties)
}
public class CarBrand
{
public int CarBrandId { get; set; }
public string Description{ get; set; }
}
public class CarModel
{
public int CarModelId { get; set; }
public string Description{ get; set; }
public int CarBrandId { get; set; }
public CarBrand CarBrand { get; set; }
}
我想从所有3个表加载数据。我可以使用Controller中的以下代码加载2个表中的数据:
var cars = _context.Cars.Include(c => c.CarModel).ToList();
如何从CarBrand载入数据? 难道我设置了正确的导航属性的类?
一旦我加载数据,我想我需要一个ViewModel来存储和发送数据到强类型视图,对吧?
此刻我的视图模型为:
public class CarsModelsViewModel
{
public CarModel CarModel { get; set; }
public CarBrand CarBrand { get; set; }
public List<Car> Cars { get; set; }
}
感谢您的回复克里斯,数据加载的作品!现在我正在实施关于向Car类添加外键的建议。使用更新的类创建新的迁移时出现以下错误:引入FOREIGN KEY约束'FK_dbo.Cars_dbo。表'Cars'上的CarModels_CarModelId可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 –