使用linq中的单个键加入多个外键

时间:2016-09-19 16:20:04

标签: c# linq linq-to-sql

我的数据库中有两个表。 AdvertisementAdLogo

Advertisement表有三个徽标。 OwnLogoPublisherLogoAggregatorLogo

AdLogo表所有日志信息。即,LogoDisplayNameLogoPathLogoTypeLogoType是一个枚举,就像这样

enum LogoType {
    Own,
    Publisher,
    Aggregator
} 

(意味着传达徽标类型将是这三个中的一个在DB中)

现在我想执行linq-to-sql联接并将其映射到ViewModel。我怎么能这样做?

我正在尝试类似的事情,

join adLogo in _context.AdvertisementLogos
on new { A = ad.OwnLogoId, B = ad.PublisherLogoId, C = ad.AggregatorLogoId }
equals new { A = adLogo.AdvertisementLogoId, B = adLogo.AdvertisementLogoId, C = adLogo.AdvertisementLogoId }
select new AdvertisementViewModel{
    Advertisement = ad,
    OwnLogo = "",
    PublisherLogo = "",
    AggregatorLogo = ""
};

这显然不起作用。我对选择陈述毫无头绪。

任何指针都会有所帮助。

0 个答案:

没有答案