2013-01-31 84 views
4

我知道一點MVC,但我想先用DataBase開發MVC。 我想知道一件事。我在網上看到了這樣的一個表:SQL表vs實體框架MVC

CREATE TABLE dbo.Payroll 
    (
    ID int PRIMARY KEY, 
    PositionID INT, 
    Salary decimal(9,2), 
    SalaryType nvarchar(10), 
    CHECK (Salary > 10.00 and Salary < 150000.00) 
    ); 

我想知道如果檢查元素將導致在我的網站上的數據驗證。

thx預先

+0

您必須在前端執行相同的約束。如果你沒有,那麼你必須明確地捕獲一個未處理的錯誤或異常。你不太可能這樣做。 – Lion

回答

2

不,它不會自動在您的網站上添加驗證。它將對數據庫執行該限制,如果用戶輸入超出該範圍的值,將會「崩潰」。

您還應該在客戶端添加驗證以防止來自數據庫的未處理錯誤。

1

驗證不會在Web應用程序/站點上完成,而是在數據庫上完成。就像一個UNIQUE或FOREIGN KEY約束,如果違反約束,它會拋出錯誤/異常

看到這個提琴:http://sqlfiddle.com/#!3/ede45 - 刪除最後一行中的註釋,看看它是如何違反約束和拋出錯誤 - 哪用戶會看到如果沒有處理。您需要在進入數據庫之前處理此類條目,並且約束條件僅爲雙重檢查或交叉檢查