2015-06-11 48 views
0

我想創建一個系統,用戶可以創建/刪除表格並添加/刪除列。這可能與EF有關嗎?過去兩天我搜查了很多durinig,並且我已經閱讀了很多示例,但他們沒有幫助我! 在此先感謝。使用EF即時將列添加到表格

+0

是的,我先使用代碼 –

+0

正如我以前說的用戶,我不是指最終用戶!所以請不要擔心安全問題! –

+1

如果您不想再聽到這些內容,您可能需要更新原始文章。你不能指望每個人都在其他答案下瀏覽每一條評論。 – sstan

回答

0

你不應該讓你的用戶編寫代碼,你的代碼不應該編寫和編譯更多代碼或啓動其他應用程序。因此,不,這不是你要找的。如果你想真的想(我建議不這樣做),你可以做的是創建一個系統,其中用戶創建和使用C#添加/刪除列的表。那部分很好。但是,由於EntityFramework是一個ORM,它爲您提供強類型對象來表示您的表/記錄/等。在這樣的系統中就沒有用處,因爲在沒有重新啓動應用程序的情況下,您將沒有辦法獲取那些強類型的對象。

我想你可能需要重新考慮你的方法。

Side-Note:如果你的「用戶」實際上指的是團隊中的開發人員,那麼如果你全部使用EntityFramework Code-First並配置你的應用程序進行自動更新(哪些Add/Drops表)是的,這是內置的。你所要做的就是用新列更新強類型類,或者刪除要刪除的列,下次構建和運行數據庫時應該自動更新。但是,如果您的表中有任何數據,通常會出現問題。


在創建MIS

如果你真的想繼續與一個UI,那麼你是從錯誤的角度看待事物建立自己的管理信息系統。下面是一些開始的過程,讓你開始了:

  1. 要求:我假設你擁有所有的要求和東西,否則你太早開始發展,這只是出過遠的餘地StackOverflow
  2. 架構:從起草您的架構開始。 MIS是一個用表格和字段管理數據庫的系統。您希望您的用戶能夠無代碼地創建和管理數據庫表。那麼,您可以通過讓體系結構模擬表(表格名稱和ID以及另一個具有列名稱,ID,父表ID和值等)來實現此目的;這對於CMS來說是一個很好的系統,但不是管理信息系統,因爲大數據會粉碎它)或通過實際管理數據庫(很多安全考慮和事情在這裏工作)
  3. 術語:讓您的行話向下拍。您是在談論數據庫表格還是您的自定義表格等等。
  4. 框架:根據您的架構,EF可能是一個選項。如果你正在製作一個CMS,那麼EF可以很容易地用於上面我舉例說明的架構中。對於MIS來說,這可能不是正確的選擇。
  5. 發展規劃:規劃你的其他發展並將其分解成更小的問題。根據您的意見,您幾乎只問過如何爲您設計和開發您的Bachelors最終項目。你需要自己做。此外,如果這是一個問題,我可以給你一個簡潔的答案,做你想做的並且適合於StackOverflow,那麼提供MIS的公司就不會像現在這樣賺錢。
+0

我能做什麼?!我正在嘗試創建一個MIS,並希望能夠添加/刪除表和字段而不更改代碼!我不想讓任何用戶改變數據庫!我只想讓自己很容易在將來快速製作類似的系統!所以請指導我是否有辦法做到這一點! –

+0

是的,我的意思是開發者!但是!我想在不更改代碼的情況下執行此操作(至少是手動操作)。我希望這些魔法在運行時自動發生!我想創建一個系統,使我們可以輕鬆地讓其他系統無法編碼(最小的數據庫部分)。我知道你在說什麼 !但那不是我想要的! –

+0

你可以從頭開始寫,但EntityFramework不會幫你。第二段更多的是你正在尋找的。我通常不會這樣說,但在這種情況下,我會:如果您不確定如何開始,那麼我會誠實地勸您不要。 MIS是一個複雜的系統,通常用於存放有價值的數據。它應該由可以承擔支持責任的專家來開發和構建。如果你不知道從哪裏開始,那麼這是一個有趣的項目,但不是你應該投入生產的東西。找到您可以使用的現有系統。 –