2016-07-29 80 views
0

我使用的是VS 2013,SQL Server 2008 R2。我剛開始學習ASP.NET MVC & EF。無法使用EF6在一個表中創建2個外鍵

我已經創建了兩個類:

public class Album 
{ 
    public int Id { get; set; } 
    //ApplicationUser from Asp.net Identity Model 
    public ApplicationUser Artist; //Who Part 
    public DateTime DateTime { get; set; } //When Part 
    public string Venue { get; set; } //Where Part 
    public Genre Genre { get; set; } //Type Part 
} 

public class Genre 
{ 
    public byte Id { get; set; } 
    public string Name { get; set; } 
} 

當我創建add-migration CreateAlbum,我應該得到兩個外鍵,但我得到只有一個,即從GenreGenre_Id)。

如何解決這個問題?我想即AspnetUser鏈接ApplicationUserArtist_Id)我Album

+1

我想你想映射不同的'表'到一個'表專輯'..我是嗎? – mmushtaq

+0

是我想映射兩個表,即AspnetUser,流派到AlbumTable –

+1

然後使用EF中的Table Splitting .. [this](http://www.c-sharpcorner.com/UploadFile/ff2f08/table-splitting-in -entity-framework-6-code-first-approach /)和[this](https://msdn.microsoft.com/en-us/data/jj715645.aspx)將會是hellogful。 – mmushtaq

回答

1

你忘了把get和set。在應用程序用戶的課堂中添加獲取並設置。

public class Album 
{ 
    public int Id { get; set; } 
    //ApplicationUser from Asp.net Identity Model 
    public ApplicationUser Artist { get; set; }; //Who Part 
    public DateTime DateTime { get; set; } //When Part 
    public string Venue { get; set; } //Where Part 
    public Genre Genre { get; set; } //Type Part 
} 

public class Genre 
{ 
    public byte Id { get; set; } 
    public string Name { get; set; } 
} 

現在運行遷移。它會工作。

+0

感謝@Amit Kumar,這次明白了吧 –