使用ASP.NET MVC 2編程時遇到的兩個小問題

來源:互聯網
上載者:User

 

    使用MVC2開發一個web應用的時候,遇到兩個小問題,這裡做下記錄:

 

         (1) 通過ADO.NET Entity Data Model設計資料庫結構的時候,一般情況下,如果想使我們新添加或修改的內容生效的話,需要首先自動產生資料庫指令碼,並串連資料庫進行執行,以保證資料庫的同步,同步時,沒有必要去刪除原有資料庫內容,直接更新即可,但是此時如果想通過controller來自動建立一個view的話,在強型別下拉框中,是沒有我們新添加的類的,這個時候我們可以編譯或調試一下,新添加的類就會出現了,否則就沒辦法去產生自動的前台代碼啦~

 

         (2) 通過ADO.NET Entity Data Model設計資料庫表結構的時候,如果涉及到修改表欄位的約束屬性的話,可能會引發雖然我們的修改已經更新到資料庫,而且字碼頁已經保證正確,但是,每次執行XXXRepostory.Save()的時候,都會引發異常,提示內容大概就是說某某欄位不符合某某約束,我遇到的是不能插入Null到某某欄位,昨晚嘗試了N次,但依舊出現相同問題,今天我重新編寫了一個一模一樣的類,然後更新,並做排除性驗證,奇怪的是昨天的問題自己解決了……真汗,根據第一條的經驗來看,可能就是因為MVC架構中某某地方沒有完全按照我的更新進行處理,於是導致了不一致的問題,重啟,重編譯後可能就一致了……

 

         有的時候,有些問題還是挺奇怪的,不過就這次的經曆來講,自己也更加明白了一個道理:架構讓開發變得簡單,但是通過犧牲自由性作為代價的,同時我們還要對架構是否正常工作保有一份責任!這也說明我們在享受架構帶給我們的便利的同時,一定要時刻保持懷疑的態度,儘可能多地去瞭解架構的細節,否則我們的麻煩亦會很多~

 

    希望能對你有所協助~

 

    PS:第二個問題因為該欄位的屬性StoreGeneratedPattern值為Identity,設定為None後可以進行正常插入了。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.