私のように定義されたクラスがあります。Entity Frameworkの中で継承されたすべてのエンティティおよびナビゲーションプロパティを取得
public class ElectronicFundTransfer
{
public int Id { get; set;}
public int OrganisationId { get; set; }
}
と2つの継承したクラス:これはやや単純化されたことを
public class PayPal : ElectronicFundTransfer
{
public BankAccount BankAccount { get; set; }
}
public class PaymentCard : ElectronicFundTransfer
{
public FxRate FxRate { get; set; }
}
は注意を、追加があります継承するクラスと追加のナビゲーションプロパティ。
今、組織のために、私はすべて彼らのElectronicFundTransfers
を取得したいと思います。これにより、PayPal
とPaymentCard
の両方を含むリストが返されます。また、それぞれBankAccount
とFxRate
を含めることもできます。
私はPaymentCardは 『FxRate』と呼ばれる性質を持っていない」と主張したクエリのそれエラーのInclude()
メソッドに値をカンマ区切りとしてこれらを追加する場合
私がやってみました:。
_unitOfWork.ElectronicFundTransferRepository.Queryable() .Where(o => o.OrganisationId == organisationId) .Include<PayPal>("BankAccount");
は、しかし、私はエラーを取得
Instance argument: cannot convert from 'System.Linq.IQueryable<ElectronicFundTransfer>' to 'System.Linq.IQueryable<PayPal>'
これを1つのクエリで行うことはできますか、それぞれのタイプについてDBを呼び出す必要がありますか?
おかげ
をはい、あなたはそれぞれのタイプのクエリ、または連合を必要としています。 –