1

我有這個類:實體框架,代碼第一次和外鍵多對多

public class User 
{ 
    [Key] 
    public Guid UserId { get; set; } 
    public string Address { get; set; } 
    public double Latitude { get; set; } 
    public double Longitude { get; set; } 
    public string Units { get; set; } 
    public int Distance { get; set; } 

    public List<Sport> Sports { get; set; } 
} 

public class Sport 
{ 
    [Key] 
    public int SportId { get; set; }   
    public string Name { get; set; }   

    public List<User> Users { get; set; } 
} 

因此,這些類,有很多很多的外鍵,在數據庫中生成一個這樣的表:SportUsers( SportId,UserId)

當用戶註冊後,從體育列表框中選擇他感興趣的體育項目。因此,在此時,相應的控制寄存器的動作,我節省了用戶這樣的:

db.Users.Add(user); 
db.SaveChanges(); 

但是,我怎麼能節約運動的列表,其中用戶感興趣,在自動生成的外鍵,SportUsers表???

回答

1

如果你的用戶有一個體育的集合,實體框架會發現這是一個M * N關係,並自動填充你的數據庫中的關係。

+0

但是,它不填充數據庫中的關係,只保存用戶。 –

+0

您確定用戶中的列表已實例化並填充了數據嗎? –

+0

就是這樣,用戶列表是空的。謝謝大家 ! –

相關問題