我正在尝试使用 ASP MVC 4 和 Entity Framework 4 创建非常简单的网站。我需要使用迁移功能,因为我会将应用程序部署到共享主机 (GoDaddy),并且我不想在每次更改时手动更改表。
建模一对多关系的正确方法是什么?使用其他实体类型或其他实体的主键类型?
当我使用另一种实体类型时,这是首选的,因为它使模型更清晰,迁移工具工作但 ASP MVC 的脚手架没有。即使我手动添加下拉列表以选择其他实体 ASP MVC 也没有解析请求权并且没有设置其他实体属性。
这是两个选项:
选项1:使用其他实体类型。
public class Tenant {
[Key]
public string TenantID { get; set; }
public string Name { get; set; }
}
public class Survey {
[Key]
public string SurveyID { get; set; }
[Required]
public Tenant Tenant { get; set; }
[Required]
[StringLength(100, MinimumLength=5)]
public string Title { get; set; }
[Required]
public DateTime CreatedAt { get; set; }
}
选项 2:使用主键类型。
public class Tenant {
[Key]
public string TenantID { get; set; }
public string Name { get; set; }
}
public class Survey {
[Key]
public string SurveyID { get; set; }
[Required]
public string TenantID { get; set; }
[Required]
[StringLength(100, MinimumLength=5)]
public string Title { get; set; }
[Required]
public DateTime CreatedAt { get; set; }
}
我在我的 ASP MVC 4 项目中为调查实体创建了带有脚手架的 MVC 控制器。它创建 CRUD 控制器和视图。在视图中,它没有为租户放置任何字段。在我自己添加之后,调用了 Create(Tenant tenant) 方法,但 HTML 表单发送的租户字段没有被 MVC 解析,也没有设置调查实体的租户字段。
我愿意