2012-08-08 3 views
0

я следующие категории таблицы, как показано ниже, и я использовать Entity Framework модель первого:аннотаций данных, где два свойства являются уникальными в MVC 3

ID => int , primary key , unique 
CategoryName => varchar(50) 
ParentCategoryID => int 

Я применяется уникальное ограничение на два столбца CategoryName и ParentCategoryID, выполнив следующие запрос:

ALTER TABLE Category 
ADD CONSTRAINT UQ_YourTable_ConstraintName UNIQUE(CategoryName, ParentCategoryID) 

Вот, что я хочу, чтобы подтвердить ввод, если commbine форма CategoryName и ParentCategoryID является уникальным с помощью DataAnnotation. Итак, я создал частичный класс для категории, как:

[MetadataType(typeof(TestEntityValidation))] 
    public partial class Category{ 
    } 

    public class TestEntityValidation{ 
     //............ data annotation 
     public string CategoryName{ get; set; } 

     //............ data annotation 
     public string ParentCategoryID { get; set; } 
    } 

что может быть кодом для аннотирования данных, так что сочетание CategoryName и ParentCategoryID всегда уникальна и показать ошибку, если дубликат данные вводятся пользователем.

ответ

0

Я не думаю, что вы можете сделать это с помощью аннотаций данных, но вот то, что вы могли бы сделать

public ActionResult Validate(SomeModel model) 
{ 
// check for this condition with db using the 'model' 

if(combination_is_NOT_unique) 
{ 
    ViewBag.Message = "Not Unique"; 
    return View("NameOfTheView"); 
} 

// else 
do the normal stuff 

} 
Смежные вопросы