2013-03-06 4 views
0

Я создаю некоторые службы для своего приложения iOS с JSON (я все еще ноб с этой историей слуховых отверстий) Мой вопрос:Как выбрать все, используя linq?

Как можно выбрать все, используя Linq, как в SQL с *?

я получил уже где положение, так что я положил некоторые усилия в истории отверстие

[DataContract] 
    public class PublicVacationCalendarEntry 
    { 
     [DataMember] 
     public string Description { get; set; } 

     [DataMember] 
     public DateTime FromDate { get; set; } 

     [DataMember] 
     public DateTime ToDate { get; set; } 


    } 
    [DataContract] 
    public class PublicVacationCalenderEntryList 
    { 
     [DataMember] 
     public List<PublicVacationCalendarEntry> PVEntries { get; set; } 
    } 
} 

-им SRY я разместил неправильный код SRY SRY SRY в этом примере я не имею что-то вроде USERID

Возможно, это что-то вроде простых изменений?

Спасибо за помощь и быстрый ответ!

+0

Return VD, клон VD, или перегрузить конструктор AnnualVacationCalendarEntry принять argume nt vd или реализовать конвертер. Можете ли вы переосмыслить имена переменных? vd from annalvacation просто звучит неправильно ... –

+0

неправильный код sry .. – Mingebag

+1

@Mingebag: Вы просто ** полностью ** изменили свой вопрос! Не делай этого. И теперь это уже не имеет никакого смысла. Кроме того, вы должны иметь возможность получить решение из ответов, размещенных здесь. –

ответ

12

Да, это возможно:

var annalVacation = from vd in ctx.HtVacationDays 
        where vd.UserId == userId 
        select vd 

или (версия мне нравится даже больше)

var annalVacation = ctx.HtVacationDays.Where(x => x.UserId == userId); 
+1

Почему бы не 'ctx.HtVacationDays.Where (x => x.UserId == userId)'? Синтаксис запроса не дает дополнительного значения. Напротив, это довольно многословие. –

+1

@ DanielHilgarth Добавлено! – poitroae

7

Вы можете написать

from vd in ctx.HtVacationDays 
where vd.UserId == userId 
select vd 

Поскольку vd представляет, если вы будете, одна целая строка от HtVacationDays вы можете просто выбрать ее (по select vd), который будет работать так же, как SELECT *.

Также обратите внимание, что вы можете использовать вас лямбда-синтаксис (который вы вперемешку с .Where пунктом в вашем коде, как это:

var result = ctx.HtVacationDays.Where(x => x.UserId == userId); //Select is optional here. 
+0

@Mingebag - теперь у вас уже есть коллекция и нет предложения where, тем более, поэтому я не понимаю, почему вы просто не вернули 'PVEntries' в первую очередь. Есть ли что-то еще, чего вы хотите достичь? –

2

попробовать, если вам нужно автоматически конвертировать один экземпляр класса еще одну попытку Automapper

https://github.com/AutoMapper/AutoMapper

 var annalVacation = ctx.HtVacationDays.Where(x => x.UserId == userId); 
Смежные вопросы