2017-02-08 2 views
0

Как вставлять соединения при вызове webservice?Как называется внутреннее соединение в SvcClient?

SELECT 
     distinct [COMMITTEE_MAST_CUST]  
    FROM [PDEV].[dbo].[COM_COMMITTEE_MEMBER] cc Inner join CUSTOMER c 
    on c.MASTER_CUSTOMER_ID = cc.COMMITTEE_MAST_CUST 
    where MEMBER_MAST_CUST = '0827857' and cc.END_DATE > GETDATE() 
and c.CUSTOMER_CLASS_CODE IN ('SECTION_OFFICER','CHAPTER_OFFICER') 

Но теперь, теперь, это не имеет понятия, куда вставлять соединение, используя этот запрос.

SvcClient.Client.Context.ComCommittees.Where(x => x.MemberMasterCustomer 
     == masterCustomerId && x.EndDate > DateTime.Today.AddMonths(-3)).ToList(); 

ответ

0

Я не уверен, каким образом определяется ваши контексты (делает SvcClient.Client.Context.ComCommittees соответствуют [PDEV]. [DBO]. [COM_COMMITTEE_MEMBER]?), Но я полагаю, вы бы поставить. Присоединитесь к разделу .Where.

Что-то вроде этого:

SvcClient.Client.Context.ComCommittees.Join(Customer, mast => id.COMMITTEE_MAST_CUST, cust=>cust.MASTER_CUSTOMER_ID, (mast, cust) => new { cc = mast, c = cust }).Where(x => x.MemberMasterCustomer 
     == masterCustomerId && x.EndDate > DateTime.Today.AddMonths(-3)).ToList(); 

Хотя вы должны рассмотреть его в письменном виде синтаксис запроса:

var myResult = (from cc in SvcClient.Client.Context.ComCommittees 
join customer in CustomerContext on cc.COMMITTEE_MAST_CUST equals customer.MASTER_CUSTOMER_ID 
where (cc.MemberMasterCustomer == masterCustomerId) && (cc.EndDate > DateTime.Today.AddMonths(-3))).ToList() 

(я не был уверен, что на некоторых из ваших имен переменных, но это основной тэк)

+0

Как насчет этого c.CUSTOMER_CLASS_CODE IN ('SECTION_OFFICER', 'CHAPTER_OFFICER') – James123

+0

&& ["SECTION_OFFICER", "CHAPTER_OFFICER"]. Содержит (customer.CUSTOMER_CLASS_CODE) – Chris

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