繁体   English   中英

实体框架数据库优先:从同一个表中访问 2 个外键名称

[英]Entity Framework database-first: accessing 2 foreign keys names from same table

我有两个表 - 一个是Customer表,它有 2 个列,它们都是Cars表的外键。

Customer表:

xid  Name    Prev_CarID(fk Cars)  Current_CarID(fk Cars)
--------------------------------------------------------
1    Ben        2                      1
2    Frank      1                      3
3    John       3                      2

Cars

id   Name    
-------------
1    Ford
2    BMW
3    Volvo

我试图得到以下结果

CustomerName PreviousCar  CurrentCar
-------------------------------------
Ben             BMW          Ford
Frank           Ford         Volvo
John            Volvo        BMW

在我的方法中,我编写了这样的代码:

var result = Context.Customers
                    .Select(o => new Models.Customers()
                                     {
                                         Name = o.Name,
                                         PreviousCar = o.Cars.Name,
                                         CurrentCar = o.Cars.Name,
                                     })
                    .ToList();

我没有得到正确的值。

我如何获得正确的值?

你可以使用连接吗?

   var result = from customers in context.customers
    join previousCar in context.cars on customers.prevCarId equals previousCar.Id
    join currentCar in context.cars on customers.currentCarId equals currentCar.Id
    select new
    { Name = customers.Name,
      PreviousCar = previousCar.Name,
      CurrentCar = currentCar.Name
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM