簡體   English   中英

Linq with EF core 2.2 Condition with where Clause FK and PK

[英]Linq with EF core 2.2 Condition with where Clause FK and PK

嗨,我在使用帶有 FK 和 PK 的 where 子句時遇到問題,因為來自 InstalltionÍnformation 的 FK 是 Object。 我無法理解。 i => i.ImportRunID是 iqueryable 並且不能轉換為 int ImportRuns.ImportRunId

var Aggnone = context.ImportRuns.Select(IR => new
                        {
                            ImportRunId = IR.ImportRunId,
                            ExtractedDate = IR.ExtractedDate,
                            ProcessDate = IR.ProcessDate,
                            ProcessResult = IR.ProcessResult,
                            FailureDescription = IR.ProcessResult,
                            InstallationInformationIDFK = context.InstallationInformation.Select(II => new
                            {
                                InstallationInformationID = II.InstallationInformationID,
                                LicenceKey = II.LicenceKey,
                                ProductVersion = II.ProductVersion,
                                ProductName = II.ProductName,
                                CompanyName = II.CompanyName,
                                Timestamp = II.Timestamp
                            })
                        }).Where(x => x.ImportRunId == context.InstallationInformation.Select(i => i.ImportRunID);

MSSQL中的等價物(應該是什么)

 Select * from ImportRuns as IR
 left join InstallationInformation as II 
 on IR.ImportRunId = II.ImportRunId

有沒有辦法解決這個問題?

嘗試使用

context.InstallationInformation.FirstOrDefault(i => i.ImportRunID).InstallationInformationID 

代替

context.InstallationInformation.Select(i => i.ImportRunID)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM