在3个表上混淆MySql连接

时间:2018-10-24 09:25:48

标签: c# mysql join

早上好,

我正在尝试使用Ef.net(不是核心)和Linq来使三表联合工作,但对我而言,我一生都无法获得期望的结果。

方案:我们有一个网页,人们在其中进行查找。这些用户未登录,但其IP地址是根据查找记录的。

数据库: 帐户(包含帐户ID,公司名称,电子邮件地址) 查找(包含iPAddress,searchResult,dateSearched) iPAddresses(包含AccountID,ipAddress)

要求:我一直在尝试创建一个查询,并向该查询传递一个AccountID,该查询根据其搜索到的iPAddress告诉我该帐户执行了多少次查找。

尝试的代码:以下内容与我以为它可以正常工作的程度差不多,但仍未返回任何结果

public int getLookups(int accountID)
{
        var query = (from p in mySqlEntities.individual_lookups
                    join meta in mySqlEntities.ip_addresses on p.ipAddress equals meta.ip_address
                    where p.accountID == accountID
                    select p.id).Count();
        return query;
}

我不太确定我在哪里出问题了,但是对此事的任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

如果我在正确地阅读您的问题,那么这些就是您的表格

  

数据库:帐户(包含帐户ID,公司名称,电子邮件地址)查找(包含iPAddress,searchResult,dateSearched)iPAddresses(包含AccountID,ipAddress)

这意味着mySqlEntities.individual_lookups没有accountId列,但是您的mySqlEntities.ip_addresses有。

将WHERE子句更改为以下内容,看看是否还有其他内容:

where meta.accountID == accountID