在我的ASP.NET网站用户模型中,我希望GUID Id
和字符串UserName
都是唯一的。我将使用实体框架将我的模型对象映射到数据库。强制Id和UserName在ASP.NET MVC 3中是唯一的模型
是否有一个内置属性或一些其他机制,有利于ASP.NET MVC中的这种常见约束?还是我必须手动检查用户注册表单中的用户名唯一性?
在我的ASP.NET网站用户模型中,我希望GUID Id
和字符串UserName
都是唯一的。我将使用实体框架将我的模型对象映射到数据库。强制Id和UserName在ASP.NET MVC 3中是唯一的模型
是否有一个内置属性或一些其他机制,有利于ASP.NET MVC中的这种常见约束?还是我必须手动检查用户注册表单中的用户名唯一性?
首先,在我看来,MVC或您的前端应用程序不应该为此负责。
唯一ID和唯一的用户名是数据库应该执行的约束条件,否则,您将假设从您的网站注册用户的唯一方法。
实体框架具有强制执行唯一约束的属性。更多的信息在这里:http://blogs.msdn.com/b/efdesign/archive/2011/03/09/unique-constraints-in-the-entity-framework.aspx
最后,关于你的用户的ID,我会考虑在数据库中自动生成这些,而不是你的前端应用程序。
可能有内置的东西,但检查唯一值是一行或两行,因为您使用的是EF。
bool uniqueGuid = Users.Any(u => u.Id == "guid");
bool uniqueUser = Users.Any(u => u.UserName == "username");
好的建议,谢谢。这是一件显而易见的事情,但是当你单独编程时,就像我现在不得不一样,我往往会忘记一些建筑中的小东西。谢谢。 – 2012-02-18 08:47:22
我一年前经历过这个,这是一个很好的学习方式。 Udachi ;-) – 2012-02-18 08:59:29