我知道我和这个很接近......
我的结构是:
我有一些公司每个公司都有一个主要用户(帐户)和所有用户(帐户)的列表。
我已经在数据库中将其实现为一个公司表,该表具有“主要”作为 Accounts 表的外键,并且 Accounts 表有一个 CompanyId,它是 Companies 表的外键。
所以只有一个主要用户,每个用户都与一家公司相关联。
我想检索所有公司的列表,并将它们放入 ac# 对象中。到目前为止,我所拥有的是:
public IEnumerable<Company> GetAllCompaniesList()
{
var allData = database.Companies.All()
.Join(database.Accounts).On(database.Accounts.Id == database.Companies.Primary)
.Join(database.Accounts).On(database.Accounts.CompanyId == database.Companies.Id)
.ToList<Company>();
return allData;
}
它在我的测试中使用带有相关键设置的内存适配器,但不是在真实版本中,崩溃了
FROM 子句中的对象“dbo.Accounts”和“dbo.Accounts”具有相同的公开名称。使用相关名称来区分它们。
我认为这意味着我需要命名每个连接(例如,使 sql 像“在 a = b 作为 c 上连接 a”),但我找不到这样做的语法。有人知道吗?