LINQ-仅将一个属性与另一个实体的整个架构连接起来

LINQ-仅将一个属性与另一个实体的整个架构连接起来,linq,select,Linq,Select,我有两个实体smtracks和tracks\u 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

我有两个实体
smtracks
tracks\u 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
       .
       .
       .
       .
       .
    };

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

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

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

稍后,您可以获得smtracks.TracksID等值。

不幸的是,没有这样的机制来执行您想要的操作。编译器不会从其他对象派生属性,它们必须显式包含。