2012-07-16 22 views
1

我有一個相當複雜的Web表單使用DynamicData與一堆定製的FieldTemplates。一切工作正常在.NET 3.5 SP1下......然後我轉換到.NET 4.0和一些字段拒絕加載給出的錯誤,如:爲什麼MetaTable不能提取某些關聯列?

System.InvalidOperationException:表'Tickets'沒有名爲'Contact 」。

堆棧跟蹤顯示拋出實際異常的System.Web.DynamicData.MetaTable.GetColumn(String columnName),因此認爲使用該函數更改了某些內容。不知道什麼,但是... :(

我已經驗證列存在(我可以訪問使用Eval()等,但DynamicControl不會找到列)。更糟糕的是,在那裏是它工作的幾個領域,我看不到任何工作和不工作的列之間有什麼不同,所有那些不工作的工作是協會,但也有協會工作。

編輯:只是改變了問題的標題...我追溯並抓住了MetaTable本身使用System.Web.DynamicData.MetaTable.GetTable(),果然MetaTable缺少列,我只是不'不明白爲什麼?

回答

0

最後解決了這個問題...

關聯使用的是不是主鍵的列。因此,通過將Child表中涉及的所有列設置爲主鍵,它將在.NET 4中再次運行。

+0

您能詳細說明一下嗎?我認爲這可能與我遇到的問題有關,但我不確定你在那裏做了什麼。 – julealgon 2013-11-20 15:13:30

相關問題