C# 如何使用LINQ和导航属性连接表

C# 如何使用LINQ和导航属性连接表,c#,linq,entity-relationship,navigation-properties,C#,Linq,Entity Relationship,Navigation Properties,考虑到我之前的问题(我放了一个链接),我需要获得一些不同的信息 这是一个DB结构,我只添加了导航属性 public virtual ICollection<Accident> Accidents { get; set; } 如果我想选择带有附加特定事故数据的TransportObject,代码是什么 public class TransportObject { [Key] public int TransportID { get; set; } publi

考虑到我之前的问题(我放了一个链接),我需要获得一些不同的信息

这是一个DB结构,我只添加了导航属性

public virtual ICollection<Accident> Accidents { get; set; } 
如果我想选择带有附加特定事故数据的TransportObject,代码是什么

public class TransportObject
{
    [Key]
    public int TransportID { get; set; }
    public string Model { get; set; }
    public string Brand { get; set; }
    public int AccidentID { get; set; }
    public DateTime AccidentDate { get; set; }
}
使用此代码

var transports = DBContext.Transports
        .SelectMany(
            x => x.Accidents, 
            (t, a) => new TransportObject 
            {
                TransportID = t.TransportID,
                Model = t.Model,
                Brand = t.Brand,
                AccidentID = a.AccidentId,
                AccidentDate = a.AccidentDate
            }
        );

更多关于在中选择多个的信息。

这正是我所需要的!!事实上,我在这么多的例子中迷失了方向,所以我建立了我的结构模型,你@Niyoko Yuliawan帮了我很多!比你
public class TransportObject
{
    [Key]
    public int TransportID { get; set; }
    public string Model { get; set; }
    public string Brand { get; set; }
    public int AccidentID { get; set; }
    public DateTime AccidentDate { get; set; }
}
var transports = DBContext.Transports
        .SelectMany(
            x => x.Accidents, 
            (t, a) => new TransportObject 
            {
                TransportID = t.TransportID,
                Model = t.Model,
                Brand = t.Brand,
                AccidentID = a.AccidentId,
                AccidentDate = a.AccidentDate
            }
        );