2016-10-04 94 views
0

嘿,我有一個實體框架的問題,並想知道有其他人遇到過這個問題。我已經編輯了我的存儲過程,現在包含course.code列並且也由它組成。然而,現在的問題是,當我嘗試從數據庫更新模型時,我仍然沒有得到確認。當我查看代碼時,這個新值仍然沒有get/set方法。我在思考實體框架時是否應該爲我自動生成這段代碼?實體框架不正確刷新

反正我已經嘗試使用這兩個.tt文件上的自定義工具,沒有運氣。我曾嘗試從數據庫更新模型。我曾嘗試刪除相關的resultset.cs,最後我嘗試刪除實體框架文件夾並從svn中恢復,但仍然沒有運氣。如果有人遇到了類似的問題,並想出來,我會永遠在你的debier。我試圖將這個新的可用字段添加到telerick報告中,到目前爲止我沒有運氣。我已經包含了我已經修改過的存儲過程的一部分。非常感謝。

SELECT s.number as studentNumber, 
     s.last_name as studentLastName, 
     s.first_name as studentFirstName, 
     replace(h.name,'/',char(160) + '/' + char(160)) as homeroomName, 
     c.name as courseName, 
     **c.Code as courseCode,** 
     ISNULL(o.priceaspurchased, i.price) as Total, 
+0

如果您要先做數據庫,則需要更新基礎表。如果你先做代碼,你需要更新類。 EF未使用存儲過程來構建其模型。 –

+0

@SteveGreene我更新了存儲過程,所以數據庫第一。底層表是否應該通過從Model更新數據庫來完成?根據文檔 https://msdn.microsoft.com/en-us/library/cc716705(v=vs.100).aspx – Seamy

+0

您是否已將「代碼」列添加到課程表中?我不相信EF會在存儲過程中出去改變你。 –

回答

0

好的我知道了.......花了幾個小時搜索互聯網後,我發現它。您必須進入.edmx文件 - 右鍵單擊​​ - 模型瀏覽器 - 展開scsmodel,然後選擇功能導入 - 找到您的存儲過程名稱 - 雙擊它 - 然後單擊獲取列信息 - 確認您的新列出現在出現的網格中 - 點擊更新和嘿presto! :)