4
設置關聯說我有一個多對多的關係:EF - 加入憑身份證
Song *---* Artist
我在我的代碼一個地步,我想一個藝術家加入到歌曲。我知道藝術家的ID,但我沒有Artist
實體的實例。
目前我有做一些事情,如:
var artist = context.Artists.Single(a => a.Id == artistId);
song.Artists.Add(artist);
這涉及到一個DB查詢。
的許多一對多的關係建模爲一個表:
SongId | ArtistId
-------+---------
我今天準備這樣做,因爲性能原因,是剛剛添加到這個表中的條目,而不必去DB加載一堆我不需要的實體數據。
有沒有辦法與EF做到這一點?例如,像這樣的API:
song.Artists.Add(artistId);
非常有趣。我會盡快嘗試。所以這不會爲虛擬實體提取任何額外的數據?非常感謝! – 2011-03-30 20:48:01
不,虛擬實體只是實體鍵(主鍵)數據的佔位符。 – 2011-03-30 21:24:12
一個非常好的解決方案,再次感謝。這是指定實體鍵的一種智能方式,我認爲它可以是任何類型(或者甚至可以是複合鍵,儘管我還沒有嘗試過)。 – 2011-03-30 23:31:18