2012-11-28 47 views
0

我有一個數據庫模式如下:LINQ的包括()適用於開發而不是在Azure上

FailureItem 
--------------- 
FailureID int foreign key references Failure (FailureID) 
DatabaseID int NULL foreign key references Items (DatabaseID) 
FailureDescription varchar(200) 

Item 
--------------- 
DatabaseID int primary key identity(1,1) 
ItemDescription varchar(200) 

我使用LINQ把它綁定到一個GridView如下:

Dim items as List(Of FailureItems) = 
    context.FailureItems.include("Item").where(function(x) x.FailureID = _failureID) 



<asp:GridView ID="gv1" runat="server"> 
    <Columns> 
     <asp:BoundField DataField="databaseID" Visible="false" /> 
     <asp:BoundField DataField="FailureDescription" headertext="Failure Description" /> 
     <asp:BoundField DataField="Item.ItemDescription" headertext="Item Description" /> 
    </Columns> 
</asp:GridView> 

這在我的開發機器上完美工作。當我將其發佈到azure上時,出現錯誤「在所選數據源中找不到名稱爲'Item.ItemDescription'的字段或屬性。」我究竟做錯了什麼?

+0

確實正在使用正確的連接字符串?檢查角色的屬性窗格中,確保服務配置設置設置爲「雲」並驗證所有設置是否正確。 –

+0

我檢查了一切,它仍然沒有工作 - 我甚至登錄到實例並檢查連接字符串。 – jagdipa

回答

0

我最終的代碼更改爲以下,其中的工作:

Dim items = 
    (from fi in context.FailureItems 
    where(fi.FailureID = _failureID) 
    select new with { 
     fi.databaseID, 
     fi.FailureDescription, 
     ItemDescription = If(fi.Item isnot nothing, fi.Item.ItemDescription, nothing) 
    }).ToList 
相關問題