我新的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約束。 –