我不确定这是否是一个微风问题或EF问题,但EF中的表格对我来说很好。
我有TradingAccount
跟踪所有交易和馆藏。持有还包含一系列相关交易。因此,可以将一个事务添加到两个集合中。
以下是我的相关课程:
public class TradingAccount
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Transaction> Transactions { get; set; }
public ICollection<Holding> Holdings { get; set; }
}
public class Transaction
{
public int Id { get; set; }
public int AccountId { get; set; }
public Account Account { get; set; }
}
public class Holding
{
public int Id { get; set; }
public int AccountId { get; set; }
public Account Account { get; set; }
public ICollection<Transaction> Transactions { get; set; }
}
这是查询微风:
Context.TradingAccounts.Include("Transactions")
.Include("Holdings")
.Include("Holdings.Transactions")
.Where(t => t.Id == id);
问题在于,当我向TradingAccount.Transactions和Holding.Transactions添加交易时,只有Holding.Transactions返回值,TradingAccount.Transactions不会。
我做错了吗?