【发布时间】:2013-11-15 13:16:17
【问题描述】:
假设我有一个由代码首先创建的数据库,看起来像这样。
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;}
}
数据库首先让我能够从演员那里查询电影,但也让我可以设置演员的伪造键属性来更新数据库。我不能首先在代码中执行此操作,因为模型中的外键仅是对象。我不想获取 Movie 对象并设置属性,如果我知道我的电影的 id,我宁愿只设置外键而不调用获取电影。
有意义吗?哈哈
我想使用 codefirst 和实体迁移,但我希望具有与数据库相同的能力,首先在对象上设置外键。
为帮助干杯:-D
【问题讨论】:
-
“我不能先在代码中这样做,因为模型中没有外键”。首先是代码 - 将其添加到您的模型中!有些开发者不喜欢外键,有些则喜欢msdn.microsoft.com/en-us/magazine/hh708747.aspx
-
我知道你可以将它添加到你的模型中,但是迁移会创建重复的键
标签: c# database entity-framework