我将 hotchoc 全部连接到 EF 和 sqlserver db。这是我的查询...
query
{
accounts {
holdings {
holdingId
}
}
}
如果我的帐户方法中没有 [UseSelection],则 sql 语句会提取帐户表上的所有字段,但不会加入馆藏。如果我将 [UseSelection] 放在帐户上,那么它会正确选择我想要的字段并加入控股以获得holdingId。但是,它也会触发这个 sql 语句......
SELECT [e].[AccountID]\r\nFROM [Accounts] AS [e]\r\nORDER BY [e].[AccountID]
这个额外的 sql 语句是做什么用的?我做错了什么吗?
我的帐户实体...
public class Account : BaseEntity
{
public Account()
{
AccrualTransactions = new HashSet<AccrualTransaction>();
Transactions = new HashSet<Transaction>();
Holdings = new HashSet<Holding>();
}
public int AccountId { get; set; }
public string AccountName { get; set; }
public string AccountNumber { get; set; }
public ICollection<Transaction> Transactions { get; set; }
public ICollection<Holding> Holdings { get; set; }
}
表结构非常简单。Holdings 表有一个 AccountId。Account 表有很多字段,但没有任何可疑之处。