模式,我有那些机型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