Мне очень нравится, как Entity Frame Code First интегрируется с проверкой MVC3, подробно здесь:
http://weblogs.asp.net/scottgu/archive/2010/12/10/class-level-model-validation-with-ef-code-first-and-asp-net-mvc-3.aspx
Мой вопрос: какие другие ORM можно использовать с MVC3, как это? Мне особенно любопытно узнать о NHibernate, поскольку он, кажется, является ORM-выбором многих сайтов MVC 1 & 2. Существуют ли какие-либо дополнения или опции для включения проверки на основе атрибутов, которая работает как на стороне клиента, так и на стороне сервера в MVC3?
EDIT:
tvanfosson прояснил часть поставленного вопроса, я также хотел бы знать, как проверка на уровне класса работает в других ORM. Будут ли они автоматически вызывать Validate для IValidatableObject ?
Например, у меня может быть этот класс в EF CF:
public class Person
{
[Key]
public int Id { get; set; }
[Email]
public string HomeEmail { get; set;}
}
А затем, используя пакет NuGet DataAnnotationsExtensions, я могу запустить следующий код (даже вне MVC) и получить ошибку.
using (SiteDB db = new SiteDB()) {
db.Persons.Add(new Person() { HomeEmail = "Invalid" });
db.SaveChanges();
}