模式,我有那些機型C#EF數據添加到
class Artist
{
public int Id { get; set; }
[StringLength(500)]
public string Name { get; set; }
[StringLength(50)]
public string LastName { get; set; }
public virtual ICollection<SimilarArtist> SimilarArtists { get; set; }
}
class SimilarArtist
{
public int Id { get; set; }
public int ArtistId { get; set; }
[ForeignKey("ArtistId")]
public Artist Artist { get; set; }
public int Similar_Artist_Id { get; set; }
}
所以每個藝術家都來自同一個錶鏈接到其他5。當遷移生成數據庫時,就會產生這種結構。
SELECT [Id]
,[Name]
,[LastName]
FROM [dbo].[Artists]
SELECT [Id]
,[ArtistId]
,[Similar_Artist_Id]
FROM [dbo].[SimilarArtists]
所以,當我做選擇模型,可以返回此
var similar = _db.Artists.FirstOrDefault(x => x.Name == id).SimilarArtists.FirstOrDefault();
//similar.ArtistId
//similar.Id
//similar.Similar_Artist_Id
//similar.Artist //the object which return main artist
的問題是,我怎麼能在「類似的變種」得到不只是Similar_Artist_Id而且名稱,並在同一請求姓氏(不通過Similar_Artist_Id提出請求)
1)它對數據庫的請求更多。確定我可以做到這一點,但它不是一個點 2)similar.Artist.Name返回主藝術家的名字,並且它基於[ForeignKey(「ArtistId」)]每個藝術家對象5 – Duke
相同,並且它返回信息I艾雷迪有 - >主要藝術家,但我需要基於Similar_Artist_Id的對象。這是一個問題。 – Duke