2013-02-14 2 views
0

Я пытаюсь к Linq заявление, где у меня есть следующие четыре таблицыИспользование рамки Entity по нескольким таблицам

table: plan 
id 
planname 

table: patient 
Fields 
id, firstname, lastname, site_id 

Table: site 
id, 
sitename 

table: plan_patient 
id 
site_id 
patient_id 

table: plan_Exclusions 
id 
patient_id 
plan_id 
site_id 

table: plan_schedule 
id 
patient_id 
plan_id 
site_id 

Я хочу, чтобы вытащить обратно все пациенты, которые не были назначены на план или исключенных из план.

Что определяет, если пациент не назначен на план, является то, что они находятся в таблице исключения, у них нет расписания в таблице plan_schedule, и они не существуют в таблице plan_patient.

Это очень легко сделать в хранимой процедуре, но я пытаюсь это выстроить, так что мне не нужно делать хранимую процедуру, чтобы отменить результаты.

+1

Почему вы отделить plan_patient, plan_exclusion, и plan_schedule столбцы в новые таблицы? Все остальные столбцы таблицы идентичны. –

+0

Это поможет узнать, как выглядят классы, особенно свойства навигации. –

ответ

0

Это, как я дотянулся до нескольких таблиц для комплексного

var MyResults = 
    from hc in context.hcTypes 
    from hga in context.hgaToGmuTypes 
    from hq in context.hqToQuota 
    from qt in context.Types 
    from dd in context.ddDraws 
    from dh in context.dhDraws 
    where hc.Year == dtYear 
     && hc.Year == hga.Year 
     && hc.code == hga.code 
     && hc.Year == hq.Year 
     && hc.code == hq.code 
     && hq.Id == qt.Id 
     && qt.PrefernceCode == "Y" 
     && hga.Year == dtYear 
     && hga.Code == "Z" 
     && hc.code == dd.code 
     && dd.Code == dh.Code 
     && dh.Year == dtYear 
     && dh.Code == "Z" 
     && dh.Left == "P" 
select new MyClass { Id = hc.Id, Huntcode = hc.Huntcode, GMU = hga.GMUTypeCode } 
; 

В вашем случае, это было бы что-то вроде:

var YourResults = 
    from pl in plan 
    from pa in patient 
    from s = site 
    from plan_patient 
    from plan_Exclusions 

    with the Where statements linking the data 
    and the Select pulling what you want 
Смежные вопросы