【发布时间】:2015-03-15 01:19:09
【问题描述】:
嘿,我首先使用实体框架和数据库。 例如,在我的数据库中,我有一个表 actor,其中包含主键“ActorID”、外键“agencyID”和属性“name”。 然后我有一个表 movie 与主键和外键“ActorID”和一些属性。 我用模型导入了数据库,然后我为控制器和视图搭建了脚手架。 不幸的是,现在当我尝试查看 Movie“创建”时,它会在 ActorID 字段上显示一个下拉列表,其中包含外键“agencyID”而不是“名称”或主键“ActorID”。
public partial class Actor
{
public Kino()
{
this.Movie= new HashSet<Movie>();
}
public long ActorID{ get; set; }
public long AgencyID { get; set; }
public String name { get; set; }
}
.
public partial class Movie
{
public long MovieID{ get; set; }
public long ActorID{ get; set; }
public String zyx { get; set; }
}
现在我想知道是否可以将显示的行更改为名称或主行? (无需去数据库更改他们的位置并重新支付一切)
@Html.DropDownList("ActorID", null, htmlAttributes: new { @class = "form-control" })
我已经在模型中更改了“agencyID”和“名称”的位置,但没有任何变化。
【问题讨论】:
-
你能发布你的模型吗?
-
我将模型添加到问题中
-
我不确定您看似不匹配的脚手架发生了什么,但令我惊讶的是,任何脚手架都可以在您的模型上使用很少的标记。您的模型应该具有指定主键列和外键列的属性:对属性进行一些阅读:[Key] 和 [ForeignKey]。此外,在使用额外的元数据属性后,您可能会发现脚手架更加有效:[DisplayName]、[Column]、[MaxLength] 等。
标签: c# asp.net-mvc entity-framework visual-studio model-view-controller