我有 2 个保存餐馆数据的类。
状态.cs
public class Status
{
[Required]
public int StatusId { get; set; }
[Required]
[DisplayName("Status")]
public string Name { get; set; }
}
餐厅.cs
public class Restaurant
{
public int RestaurantId { get; set; }
[Required]
public string Name { get; set; }
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
public string Telephone { get; set; }
[Required]
public int StatusId { get; set; }
// NAVIGATION PROPERTIES
public virtual Status Status { get; set; }
}
我正在尝试将数据播种到数据库中。
首先,我为状态表播种,然后我希望为餐厅表播种。
var statuses = new List<Status>
{
new Status { Name = "Draft" },
new Status { Name = "Live" },
new Status { Name = "Invisible" },
new Status { Name = "Discontinued" }
};
statuses.ForEach(a => context.Statuses.Add(a));
var restaurants = new List<Restaurant>
{
new Restaurant { Name = "The Restaurant Name", Email = "email@restaurant.com", Telephone = "012345566787", StatusId = 1 }
};
restaurants.ForEach(a=>context.Restaurants.Add(a));
base.seed(context);
这不起作用,因为它不喜欢我尝试将 StatusId = 1 播种到 Restaurant 的方式。
我知道我可以在新餐厅中创建新状态,但是,我已经将状态播种到数据库中。如何将餐厅的状态设置为草稿???
我必须每次都这样做吗???
new Restaurant { Name = "The Restaurant Name", Email = "email@restaurant.com", Telephone = "012345566787", StatusId = new Status { Name = "Draft"} }
每次我创建一个状态为“草稿”的新餐厅时,这不会在状态表中生成一个名为“状态”的新行吗?