2010-04-06 66 views
1

我正在使用Linq to Entities。 我在我的代碼下面的查詢,它包含LEFT OUTER JOIN:LINQ to Entites與SQL 2000問題

var surgeonList = (from item in context.T1_STM_Surgeon.Include("T1_STM_SurgeonTitle") 
           .Include("OTER").Include("OSLP") 
           join reptable in context.OSLP on item.Rep equals reptable.SlpCode into surgRepresentative 
           where item.ID == surgeonId 
           select new 
{ 
    ID = item.ID, 
    First = item.First, 
    Last = item.Last, 
    Rep = (surgRepresentative.FirstOrDefault() != null) ? surgRepresentative.FirstOrDefault().SlpName : "N/A", 
    Reg = item.OTER.descript, 
    PrimClinic = item.T1_STM_ClinicalCenter.Name, 
    Titles = item.T1_STM_SurgeonTitle, 
    Phone = item.Phone, 
    Email = item.Email, 
    Address1 = item.Address1, 
    Address2 = item.Address2, 
    City = item.City, 
    State = item.State, 
    Zip = item.Zip, 
    Comments = item.Comments, 
    Active = item.Active, 
    DateEntered = item.DateEntered 

}) 
           .ToList(); 

我DEV服務器SQL 2008,因此代碼工作得很好。 當我將此代碼移動到客戶端的生產服務器 - 他們使用SQL 2000時,我開始得到「不正確的語法附近'(''。

我試着在我的.edmx文件中將ProviderManifestToken更改爲2000,得到「執行此查詢需要APPLY運算符,SQL Server版本早於SQL Server 2005不支持該運算符。」我將更改標記綁定到2005年,「附近的語法錯誤」(''返回。

任何人可以幫助我找到一種解決方法?

非常感謝你提前!

回答