LINQ, нужна помощь в составлении запроса
От: lutikman  
Дата: 07.11.10 09:40
Оценка:
Добрый день.
Имеется таблица домов Houses, кот имеет такие поля как номер дома (Number) и дробь или буква дома (Fraction).
Нужно эти два поля вытащить как одно по принципу: если дробь или буква дома существует и если оно начинается цыфрой, то добавить к номеру дома через слеш.
Например 23/8 (номер дома 23, дробь или буква дома 8) или 25/32а (номер дома 25, дробь или буква дома 32а).
Если дробь или буква дома существует и если оно начинается с буквы алфавита, то добавить к номеру дома без слеша.
Например 15а (номер дома 15, дробь или буква дома а)

var query = from h in entity.Houses
            select new
            {
                 HNumber = h.H_Number,
                 HFraction = h.H_Fraction,
                 HFullNumber = h.H_Number + h.H_Fraction, // если я правильно понимаю то здесь нужно как-то добавить условие обьединения
            };

Помогите пожалуйста, очень нужно и очень срочно.
Re: LINQ, нужна помощь в составлении запроса
От: Jack128  
Дата: 07.11.10 09:44
Оценка:
Здравствуйте, lutikman, Вы писали:

L>Добрый день.

L>Имеется таблица домов Houses, кот имеет такие поля как номер дома (Number) и дробь или буква дома (Fraction).
L>Нужно эти два поля вытащить как одно по принципу: если дробь или буква дома существует и если оно начинается цыфрой, то добавить к номеру дома через слеш.
L>Например 23/8 (номер дома 23, дробь или буква дома 8) или 25/32а (номер дома 25, дробь или буква дома 32а).
L>Если дробь или буква дома существует и если оно начинается с буквы алфавита, то добавить к номеру дома без слеша.
L>Например 15а (номер дома 15, дробь или буква дома а)

L>
var query = from h in entity.Houses
L>            select new
L>            {
L>                 HNumber = h.H_Number,
L>                 HFraction = h.H_Fraction,
L>                 HFullNumber = h.H_Number + h.H_Fraction, // если я правильно понимаю то здесь нужно как-то добавить условие обьединения
L>            };
L>

L>Помогите пожалуйста, очень нужно и очень срочно.

попробуй что нить типа такого:

select new 
{
  ..
  HFullNumber = h.H_Fraction[0] >= '0' && = h.H_Fraction[0] <= '9' ? h.H_Number + "/" + h.H_Fraction : h.H_Number + h.H_Fraction
}
Re[2]: LINQ, нужна помощь в составлении запроса
От: lutikman  
Дата: 07.11.10 10:05
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Здравствуйте, lutikman, Вы писали:


L>>Добрый день.

L>>Имеется таблица домов Houses, кот имеет такие поля как номер дома (Number) и дробь или буква дома (Fraction).
L>>Нужно эти два поля вытащить как одно по принципу: если дробь или буква дома существует и если оно начинается цыфрой, то добавить к номеру дома через слеш.
L>>Например 23/8 (номер дома 23, дробь или буква дома 8) или 25/32а (номер дома 25, дробь или буква дома 32а).
L>>Если дробь или буква дома существует и если оно начинается с буквы алфавита, то добавить к номеру дома без слеша.
L>>Например 15а (номер дома 15, дробь или буква дома а)

L>>
var query = from h in entity.Houses
L>>            select new
L>>            {
L>>                 HNumber = h.H_Number,
L>>                 HFraction = h.H_Fraction,
L>>                 HFullNumber = h.H_Number + h.H_Fraction, // если я правильно понимаю то здесь нужно как-то добавить условие обьединения
L>>            };
L>>

L>>Помогите пожалуйста, очень нужно и очень срочно.

J>попробуй что нить типа такого:


J>
J>select new 
J>{
J>  ..
J>  HFullNumber = h.H_Fraction[0] >= '0' && = h.H_Fraction[0] <= '9' ? h.H_Number + "/" + h.H_Fraction : h.H_Number + h.H_Fraction
J>}
J>


Спасибо большое.
Re[2]: LINQ, нужна помощь в составлении запроса
От: QrystaL Украина  
Дата: 07.11.10 10:08
Оценка:
J>попробуй что нить типа такого:

J>
J>select new 
J>{
J>  ..
J>  HFullNumber = h.H_Fraction[0] >= '0' && = h.H_Fraction[0] <= '9' ? h.H_Number + "/" + h.H_Fraction : h.H_Number + h.H_Fraction
J>}
J>


Вместо

h.H_Fraction[0] >= '0' && = h.H_Fraction[0] <= '9'


лучше использовать

Char.IsDigit(h.H_Fraction[0])
Re[3]: LINQ, нужна помощь в составлении запроса
От: _FRED_ Черногория
Дата: 08.11.10 07:25
Оценка:
Здравствуйте, QrystaL, Вы писали:

QL>Вместо

QL>h.H_Fraction[0] >= '0' && = h.H_Fraction[0] <= '9'

QL>лучше использовать
QL>Char.IsDigit(h.H_Fraction[0])


А какие-то провайдеры поддерживают "Char.IsDigit(char)"? Во что он раскрывается для MSSQL?
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.