以下は、シーンの裏にあるものです。上記のエンティティと関連するDbSetに含まれているDbSetにフィルタを追加しますか?
public class User : BaseTransactionModel
{
public Guid UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Transaction
{
public int TransactionId { get; set; }
public string TransactionName { get; set; }
public int TransactionHistoryId { get; set; }
public virtual TransactionHistory TransactionHistory { get; set; }
}
public class TransactionHistory
{
public int TransactionHistoryId { get; set; }
public DateTime CreatedDateTime { get; set; }
public Guid UserId { get; set; }
public int TransactionId { get; set; }
public virtual ICollection<User> Users { get; set; }
public virtual ICollection<Transaction> Transactions { get; set; }
}
public class BaseTransactionModel
{
public int TransactionHistoryId { get; set; }
public int TransactionId { get; set; }
public virtual TransactionHistory TransactionHistory { get; set; }
public virtual Transaction Transaction { get; set; }
}
、私が指定した日にユーザーからすべての取引を取得しようとしています。
だから私はトランザクションDbSetの両方ユーザーとTransactionHistory含めて試してみました:
:私は、取引履歴のエンティティの日付からwhere句、そのフィルタのトランザクションを追加したいContext.Transaction
.Include(t => t.User)
.Include(t => t.TransactionHistory)
...
Context.Transaction
.Include(t => t.User)
.Include(t => t.TransactionHistory)
.Where(t => t.TransactionHistory.CreatedDateTime <= StartDateFilter && t.TransactionHistory.CreatedDateTime >= EndDateFilter)
でもできませんでした。 TransactionHistoryはエンティティ(またはそれが呼び出されたもの)のリストでもあるためです。
は何の可能な解決策は、私が達成しようとしているものを手に入れるだろうか?
PS:私はEFに新しいですし、タイトルは誤解を招く可能性があります。もしそうなら、それを更新してください。
彼らはになっているようにあなたのモデルクラスは見ていません。リレーションシップをクラスでどのように定義するか(ナビゲーションプロパティを使用して)、リサーチを試みます。 – Nikolaus
@Nikolaus私は上記のサンプルクラスについて私の苦情を修正しました。提案してくれてありがとう、私はそれを見て確認します。 –