2012-05-25 2 views
0

я написал хранимую процедуру, которая возвращает мне имя клиента в формате нижепоиск Firstname из комбинации Lastname + «» + Firstname с помощью LINQ

LastName+", "+FirstName 

я есть присвоить его к классу свойств, как показано ниже.

Customer = DbContext.ExecuteStoreQuery<SearchEmployeeCDTO>("exec GetCustomerDetails").AsQueryable().ToList(); 

теперь я хочу, чтобы искать LastName, как показано ниже я сделал для COMPANYNAME клиента

if(CompanyName!=null && LastName==null) 
Customer = Customer.Where(c => c.CompName.Contains(CompanyName)).ToList(); 

пожалуйста, подсказывает, как я могу искать LastName из комбинации LastName и FirstName формата

спасибо ,

ответ

1

Возможно, это?

if(LastName!=null) 
    Customer = Customer.Where(c => c.CustName.StartsWith(LastName)).ToList(); 
+0

или так :) если (CompanyName! = NULL && LastName == NULL) клиента = Customer.Where (с => c.CompName.Contains (COMPANYNAME) && с .Name.EndsWith (ЬазШате)) ToList(). – igofed

+0

мои запросы sql подобны select lastName + "," + firstName как CustName от Клиента. поэтому моя голова - это как найти данные последнего имени из нее, как при написании кода customer.where (c => c., тогда я не получаю имя для последнего имени здесь) – aamankhaan

+0

Я все еще могу быть недопониманием ... Мое мышление заключается в том, что если ваше CustName поле всегда отформатировано для начала с частью LastName, тогда вы должны иметь возможность фильтровать CustName.StartsWith (LastName) ... – Peter

0

если вы пытаетесь проверить значения, которые еще один список содержит то же самое или нет, то вы можете использовать это: (если вы извлекаете их как различные свойства общего элемента списка)

bool b = your1stList.Exists(c=> c.firstName == your2ndList.firstName , 
           c.middleName == your2ndList.middleName , 
           c.lastName == your2ndList.lastName) 

if (b == true) 
{ 
    MessageBox.Show("You already have this Customer"); 
} 

это является хорошим способом получить все свойства без какой-либо деятельности конкатенации. Сохраняет вам некоторые головные боли в футаровых запросах;)

С другой стороны, если мы продолжим с вашего запроса, вам нужно получить значение lastname + firstName в строку и использовать String.Split (",") functi чтобы положить в строковый массив, то если слово lastName + firstname проверяет индекс массива [0] для последнего имени и массива [1] для первого имени.

Выберите, какой путь вы хотите ..

Смежные вопросы