簡體   English   中英

帶有EF 4 c#的外鍵

[英]Foreign key with EF 4 c#

我在EF 4.0中的外鍵有問題。

我和一個玩家玩了一場小游戲。 該玩家可以在游戲中包含一些角色。

因此,當我想向數據庫添加字符時,必須設置外鍵“ PlayerId”。

這是我的代碼,但是在上下文模型中添加對象時會殺死:

using (DatabaseModelContainer model = new DatabaseModelContainer())
{
    Character c = new Character();
    c.Player.Id = idPlayer;

    model.CharacterJeu.AddObject(c);
    model.SaveChanges();
}

感謝的答案。

這里很奇怪

Character c = new Character();
c.Player.Id = idPlayer;//But instance c has no Player (well, I don't know the constructor of Character, but I may imagine there's no new Player() inside)

順便說一下,有了您似乎擁有的模型,您就不必像以前那樣管理FK。 您必須管理參考(導航)屬性。

你可以那樣做。

Character c = new Character{
   Player =  model.GetPlayerByid(idPlayer);//or something like that
}

實體框架有一個稱為Attach的方法,這可能是您要尋找的。 我認為它可以用於更新現有對象上的外國實體。

MSDN: 附加和分離對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM