действительно быстрый вопрос.
Я изо всех сил пытаюсь реализовать оператор Linq2Entities, который может принимать более одного значения для определенного «поля». Я передаю несколько строк в getClientsProjected()
, я могу легко сравнить одно значение. Но у меня на странице несколько раскрывающихся списков, и из этого я получаю строку, разделенную комой, которую потом использую, чтобы разделить ее на string[]
например __ACCOUNT_SITE = "1234,5678"
(см. Код ниже), я пробовал для / foreach / не содержит ничего из того, что сработало ...
public IQueryable<ClientViewModel> getClientsProjected(string __ACCOUNT_SITE, string __ACCOUNT)
{
var projectedClients = from c in getClosedSRs()
select new ClientViewModel
{
_ACCOUNT_ID_CSR = c.ACCOUNT_ID_CSR,
_ACCOUNT = c.ACCOUNT,
_ACCOUNT_FAMILY = c.ACCOUNT_FAMILY,
...
...
_ACCOUNT_SITE = c.ACCOUNT_SITE
};
if (String.IsNullOrEmpty(__ACCOUNT) != true && __ACCOUNT != "ALL")
{
//this works fine as an __ACCOUNT is of a single value
projectedClients = projectedClients.Where(c => c._ACCOUNT == __ACCOUNT);
}
if (String.IsNullOrEmpty(__ACCOUNT_SITE) != true && __ACCOUNT_SITE != "ALL")
{
String[] splitSites = __ACCOUNT_SITE.Split(',');
//????????????????????????????????????????????????
}
return projectedClients;
}
Теперь, для большинства из вас это будет иметь смысл. Я прочитал много статей, но не нашел правильного ответа. Однако я не могу использовать Linq2SQL, так как уже построил весь мой сайт, используя L2E, интерфейс и ReportViewer.
Есть обходной путь?