Сбивает с толку MySql Join на 3 таблицы - PullRequest
0 голосов
/ 24 октября 2018

Доброе утро,

Я пытаюсь заставить работать 3 стола, используя Ef.net (не ядро) и Linq, но из-за жизни не могу получить ожидаемый результат.

Сценарий: у нас есть веб-страница, на которой люди выполняют поиск. Эти пользователи не вошли в систему, но их IP-адреса записаны по запросу.

Базы данных: учетные записи (содержит AccountID, CompanyИмя, EmailAddress) Поиск (Содержит iPAddress, searchResult, dateSearched) iPAddresses (Содержит AccountID, ipAddress)

Требование: я пытался создать запрос, где я передаю ему AccountID, и он сообщает мне, сколькоПоиски, выполненные учетной записью на основе найденных ими IP-адресов.

Попытка кода: следующее примерно так же близко, как я думал, к тому, чтобы заставить его работать, но по-прежнему не дает результатов

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 голосов
/ 24 октября 2018

Если я правильно читаю ваш вопрос, то это ваши таблицы

Базы данных: учетные записи (содержит AccountID, название компании, адрес электронной почты) Поиск (содержит iPAddress, searchResult, dateSearched) iPAddresses(Содержит AccountID, ipAddress)

Это означает, что mySqlEntities.individual_lookups не имеет столбец accountId, а ваш mySqlEntities.ip_addresses имеет.

Измените предложение WHERE наниже и посмотрите, получите ли вы дальше:

where meta.accountID == accountID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...