c# – Code First实体框架和外键
发布时间:2020-12-16 01:58:24 所属栏目:百科 来源:网络整理
导读:想象一下,我有一个由代码创建的数据库,看起来像这样. Movie (table)ID int PKMoveiName nvarchar(100)Actor (table)ID int PKActorName nvarchar(100)Movie_ID int FK 这些是我会使用的模型,显然不完全是这样,但你会明白我的观点. class Movie{ int ID{get;s
想象一下,我有一个由代码创建的数据库,看起来像这样.
Movie (table) ID int PK MoveiName nvarchar(100) Actor (table) ID int PK ActorName nvarchar(100) Movie_ID int FK 这些是我会使用的模型,显然不完全是这样,但你会明白我的观点. class Movie { int ID{get;set;} string MovieName {get;set;} List<Actor> Actors {get;set} } class Actor { int ID{get;set} string Actorname{get;set} Movie Movie{get;set;} int Move_ID{get;set;} } 数据库首先使我能够从一个actor查询电影,但也允许我设置actor的forgien键属性来更新数据库.我不能在代码中首先执行此操作,因为外键在模型中不仅仅是对象.我不想获取Movie对象并设置属性,如果我知道我的电影的ID我宁愿只设置外键而没有调用来获取电影. 合理?大声笑 我想使用codefirst和实体迁移,但我想要与数据库相同的能力首先在对象上设置外键. 干杯的帮助:-D 解决方法
首先将代码更改为此
public class Movie { int ID{ get; set; } string MovieName {get; set; } List<Actor> Actors {get; set; } } public class Actor { int ID{get;set} string ActorName{ get; set } Movie Movie{ get; set; } int MovieID{ get; set; } } 到convention EF将知道MovieID是Movie的外键 然后将Actor代码更改为: public class Actor { int ID{get;set} string ActorName{ get; set; } Movie Movies{ get; set; } } 演员出现在很多电影中.电影有很多演员…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |