0
我們的領域模型(和數據模型)包含一個值類型LoanValueType。每種貸款都有這種類型。也就是說,LoanKey1和LoanKey2兩部分在每筆貸款中都是唯一的。如何從複雜類型列表中檢索數據庫中的對象列表?
loans.AddRange(
_context.Loan
.Include(x => x.Customer)
.Include(x => x.Customer.Address)
//...
.Where(x => x.Status == ExampleStatus.Completed && x.ExampleDateTime > maxday)
//...
.Where(loan => loanIds.Any(x =>
x.LoanKey1 == loan.LoanValueType.LoanKey1 &&
x.LoanKey2 == loan.LoanValueType.LoanKey2))
);
我們需要的是從列表loanIds(List)中獲取數據庫中的所有貸款。它早些時候被解決的方式導致一個接一個地調用數據庫,而這個數據庫根本就不是高性能的。
儘管如此,上述對數據庫的查詢結果是「只有基元類型或枚舉類型在此上下文中受支持」。我明白爲什麼,但無法找到解決該問題的方法。
我試圖枚舉之前的最後where子句,但它給了我一個太大的結果集。我只想從數據庫中檢索我的清單中的貸款。
編輯:
貸款值類型是這樣
public class LoanValueType
{
public string LoanKey1 { get; private set; }
public int? LoanKey2 { get; private set; }
}
什麼'loanIds'的類型? –
如果它是一個棘手的選擇(或複雜的選擇),你可能會考慮在SP中獲取該邏輯並調用它返回列表 – Jinish