2013-01-31 50 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 - 删除最后一行中的注释,看看它是如何违反约束和抛出错误 - 哪用户会看到如果没有处理。您需要在进入数据库之前处理此类条目,并且约束条件仅为双重检查或交叉检查