SQL表 vs Entity Framework MVC

4

我知道一点MVC,但是我想首先开发带有数据库的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) 
    );

我想知道在我的网站中使用CHECK元素是否会导致数据验证。

先感谢您。


你必须在前端强制执行相同的约束条件。如果没有这样做,就会抛出未处理的错误或异常,你必须显式地捕获它们。但你不太可能这样做。 - Lion
2个回答

2

不,它不会自动在您的网站上添加验证。它会在数据库上强制执行该约束,并在用户输入超出该范围的值时“崩溃”。

您仍应在客户端添加验证,以防止数据库中出现未处理的错误。


1
验证不会在网站/应用程序中进行,而是在数据库中进行。就像唯一或外键约束一样,如果违反该约束,则会引发错误/异常。
请参见此fiddle:http://sqlfiddle.com/#!3/ede45 - 删除最后一行的注释,看看它如何违反约束并抛出错误-如果未处理,用户将看到错误。您需要在其进入数据库之前处理此类条目,并且约束只是双重检查或交叉检查。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接