gpt4 book ai didi

c# - 具有简单关系的 MVC 5 Code First 脚手架

转载 作者:太空狗 更新时间:2023-10-30 00:41:14 33 4
gpt4 key购买 nike

我正在做一些实验性编程以 catch ASP MVC。

我为包含房间的建筑物创建了一个项目。一个非常简单的一对多关系。我正在尝试让脚手架正常工作,从旧的 MVC 示例来看,这看起来应该可以正常工作。但是,Rooms 中的 BuildingId 字段未映射到 Building 模型 - View 中没有选择列表。

我的模型是:

namespace BuildingManagement.Models
{
public class Building
{
public int Id { get; set; }

[Required]
public string Name { get; set; }
public string Address { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string Province { get; set; }
public string PostalCode { get; set; }

[Display(Name = "Phone")]
[DataType(DataType.PhoneNumber)]
[Required]
public string PhoneMain { get; set; }

[Display(Name = "Contact")]
[Required]
public string ContactName { get; set; }
public string Description { get; set; }

public virtual ICollection<Room> Rooms { get; set; }

}
}

namespace BuildingManagement.Models
{
public class Room
{
public int Id { get; set; }

[Required]
public string Name { get; set; }
public string Type { get; set; }
public int BuildingId { get; set; }
}
}

我使用 Entity Framework 生成了带有 View 的 Controller ,它创建了表单,但没有在房间编辑 View 中使用预期的建筑选择列表。它显示一个整数输入字段。

我错过了什么?

最佳答案

你应该改变这个:

public class Room
{
public int Id { get; set; }

[Required]
public string Name { get; set; }
public string Type { get; set; }
public int BuildingId { get; set; }
}

public class Room
{
public int Id { get; set; }

[Required]
public string Name { get; set; }
public string Type { get; set; }

[ForeignKey("ContainingBuilding")]
public int BuildingId { get; set; }

public virtual Building ContainingBuilding{ get; set;}
}

这样脚手架将为建筑物生成一个选择列表。

关于c# - 具有简单关系的 MVC 5 Code First 脚手架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22046102/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com