Какие ORM поддерживают проверку на стороне клиента и проверку на стороне сервера в ASP.NET MVC3? - PullRequest
1 голос
/ 15 марта 2011

Мне очень нравится, как 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();
}

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Вы можете использовать:

Linq to sql
Entity Framework
Nhibernate
Fluent Nhibernate

Привет

1 голос
/ 15 марта 2011

DataAnnotations работают с компонентами связывания модели и валидации каркаса.Если вы можете украсить вашу модель с помощью атрибутов, она будет работать со встроенной проверкой.Я использовал его как с EF и LINQ2SQL, так и с моделями только для просмотра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...