asp.net – MVC EF Code首先一对一的关系错误
发布时间:2020-12-16 07:18:34 所属栏目:asp.Net 来源:网络整理
导读:我想要一份展台清单(在贸易展览会上)和参展商名单. 展台名单与参展商名单分开 – 但是,一旦注册,我希望参展商能够预订展位. 当他们选择/预订展台时 – 我希望能够在我的视图中列出展台,并展示已预订展台的相关参展商. 同样,我想在另一个视图中列出参展商,以
我想要一份展台清单(在贸易展览会上)和参展商名单.
展台名单与参展商名单分开 – 但是,一旦注册,我希望参展商能够预订展位. 当他们选择/预订展台时 – 我希望能够在我的视图中列出展台,并展示已预订展台的相关参展商. 同样,我想在另一个视图中列出参展商,以及他们预订的展位. 所以我正在尝试建立一对一的关系(使用EF CodeFirst). 但是,当试图为Stand或Exhibitor添加控制器时,我收到以下错误: 我的模特是: public class Stand { public int StandID { get; set; } public string Description { get; set; } public bool Booked { get; set; } public int ExhibitorID { get; set; } public virtual Exhibitor Exhibitor { get; set; } } public class Exhibitor { public int ExhibitorID { get; set; } public string Company { get; set; } public int StandID { get; set; } public virtual Stand Stand { get; set; } } 我确定这与模型的“虚拟”部分有关. 任何人都可以帮助指出应该更新什么,以允许连接? 谢谢, 标记 解决方法
EF不知道哪个实体是主体(父),哪个是依赖(子).您需要在应该首先出现的实体的项目上声明外键.您可以使用注释或流畅的映射来完成此操作.
注解 添加以下命名空间: using System.ComponentModel.DataAnnotations.Schema; 使用以下注释注释您的Stand类: public class Stand { [ForeignKey("Exhibitor")] public int StandID { get; set; } public string Description { get; set; } public bool Booked { get; set; } public int ExhibitorID { get; set; } public virtual Exhibitor Exhibitor { get; set; } } 流畅的映射 覆盖DbContext类中的OnModelCreating方法以包括: modelBuilder.Entity<Stand>() .HasOptional(s => s.Exhibitor) .WithRequired(e => e.Stand); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Asp.Net Web API跨层传递用户
- asp.net-vnext中的旧程序集引用错误
- asp.net-mvc – 多选项卡验证无效
- asp.net-mvc – Autofac,MVC(带ActionFilters),Web.Forms –
- asp.net-mvc-3 – @ Html.ActionLink和@ Html.DisplayFor同
- asp.net-mvc-3 – MVC3 AllowHtml属性的问题
- asp.net-mvc – 第一次只触发了Ajax.ActionLink
- asp.net-mvc – 为什么HtmlHelpers需要这个HtmlHelper帮助器
- abp demo运行1
- asp.net – RDLC报表中表的行颜色和替代行颜色
推荐文章
站长推荐
热点阅读