2011-02-04 2 views
3

Я пытаюсь получить составной ключ, объявленный в классе с атрибутами и DataAnnotation.EF Codefirst Как создать ключ из нескольких столбцов с DataAnnotations

[Key] 
[Column(Order=1)] 
public Guid Id { get; set; } 

[Key] 
[Column(Order=2)] 
public int Nr { get; set; } 

похоже, что это не так. Все, что я мог до сих пор найти, было довольно неплохо, но я хотел бы сделать это только с аннотациями.

уточнить: Я ищу для DataAnnotation способ создания таблицы с первичным ключом, состоящей из 2-х полей Id и Nr ...

Спасибо за вашу помощь Andreas

ответ

0

Я спросил аналогичный вопрос на прошлой неделе, но искал плавный синтаксис. Ответ Мортезы (поиск большего количества его ответов относительно чего-либо ef/CTP5- он потрясающий) также дает синтаксис для использования аннотаций данных.

Вот link. Надеюсь, что это поможет.

+0

Это не что я ищу. :-( – nttakr

9

Вы можете легко сделать это следующим образом, используя Fluent API:

modelBuilder.Entity<YourClass>().HasKey(obj => new {obj.Id,obj.Nr}); 

Кроме того, вы можете создать отдельный класс, который наследует от EntityTypeConfiguration и добавьте эту строку в своем конструкторе:

public class <*Name*>Mapping:EntityTypeConfiguration<*Name*> 

     public <*Name*>Mapping(){ 
      this.HasKey(obj => new {obj.Id,obj.Nr}); 
     } 
} 

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

  • Нет связанных вопросов^_^