LINQ - 仅与另一个实体的整个模式连接一个属性

时间:2013-08-02 05:34:51

标签: linq select

我有两个实体smtrackstracks_registration我写了以下linq

var track = from tracksData in sqlEntities.smtracks
join track_registrationData in sqlEntities.tracks_registration on tracksData.TracksID equals track_registrationData.FkTrackId
where tracksData.TracksID == 35 && track_registrationData.TuneCode == 5982234E
select new
{
    Tunecode = track_registrationData.TuneCode
};

现在我只需要来自另一个表的这一个属性Tunecode,其余我希望选择smtracks的整个模式。我知道的唯一方法是选择上面LINQ中的所有属性,如

select new
    {
        Tunecode = track_registrationData.TuneCode
        TracksID = smtracks.TracksID
        SongTitle = smtracks.SongTitle
       .
       .
       .
       .
       .
    };

并且有很多属性,是不是有更简单的方法来选择一个表的整个模式和另一个表中的一个属性。

1 个答案:

答案 0 :(得分:0)

如果你不介意有额外的参数来保存smtracks,那么你可以像这样写: -

select new
{
   smtracks=tracksData ,
   Tunecode = track_registrationData.TuneCode
};

稍后您可以获得类似smtracks.TracksID等的值。