2011-05-11 20 views
43

Asp .net mvc 3 kullanıyorum ve tabloya veri eklemeye çalıştığımda 2 birincil anahtar içeren bir varlıkla ilgili bir sorunum var.Asp .net mvc ile Çoklu Birincil Anahtar 3

tip 'ApplicationMVC3.Models.LineItem' için kompozit birincil anahtar sıralamayı belirlenemedi

:

public class LineItem 
    { 
     [Key] 
     public int OrderId { get; set;} 
     [Key] 
     public int LineNum { get; set;} 
     public string ItemId { get; set;} 
     public int Quantity { get; set;} 
     public decimal UnitPrice { get; set; } 

    } 

ben bu hata var eklemek deneyin

. Kompozit birincil anahtarları için bir sipariş belirtmek üzere ColumnAttribute veya HasKey yöntemini kullanın.

Mayıs birisi bana lütfen yardımcı !!

cevap

70

size 2 birincil anahtarlara sahip olamaz çünkü ... Bu aslında bir kompozit anahtarıdır varsayarsak hata iletisi yani bir sipariş ekleyin tam olarak ne yapacağını söyler. Anahtar sütunlarınıza [Column(Order = 0)] ve [Column(Order = 1)] ekleyerek bunu yapabilirsiniz. senin Örneğin

: Yardımlarınız için, ben eklemek

public class LineItem 
    { 
     [Key][Column(Order = 0)] 
     public int OrderId { get; set;} 
     [Key][Column(Order = 1)] 
     public int LineNum { get; set;} 
     public string ItemId { get; set;} 
     public int Quantity { get; set;} 
     public decimal UnitPrice { get; set; } 

    } 
+3

Bu sayede [Tuş] [Kolon (Sipariş = 0)] kamu int OrderId {get; set;} [Anahtar] [Sütun (Sıra = 1)] public int LineNum {get; set; ve sorun, System.ComponentModel.DataAnnotations.Schema kullanılarak – Sarroura

+5

çözüldü; – Trevor