2012-06-05 9 views
13

dopo un sacco di aiuto ieri, mi sono imbattuto in un errore noto in asp.net4 beta - Ho aggiornato a VS2012 RC Express (4.5), e ora VS sta segnalando due errori nel mio modello , che erano ok in precedenza:ForeignKey non viene riconosciuto in VS2012 RC

"Il tipo o dello spazio dei nomi il nome 'ForeignKeyAttribute' non è stato trovato (che le manca un un riferimento all'assembly direttiva using o?)"

"Il tipo o dello spazio dei nomi il nome 'ForeignKey' impossibile trovare (si manca una direttiva using o un riferimento all'assembly?) "

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 
using System.Data.Entity.ModelConfiguration.Conventions; 
using System.Data.Entity; 

namespace MvcApplication6.Models 
{ 
    public class tblRental 
    { 
     [Key()] 
      public int rental_id { get; set; } 
     public int room_id { get; set; } 
     public DateTime check_in { get; set; } 
     public DateTime check_out { get; set; } 
     public decimal room_cost { get; set; } 
     public long customer_ref { get; set; } 
     [ForeignKey("customer_ref")] 
     public virtual tblCustomerBooking Customer { get; set; } 

    } 

    public class tblCustomerBooking 
    { 
     [Key()] 
     public long customer_id { get; set; } 
     public string customer_name { get; set; } 
     public string customer_email { get; set; } 
     public virtual ICollection<tblRental> Rentals { get; set; } 
    } 

Qualcuno sa se il riferimento a ForeignKey è stato modificato?

Grazie per qualsiasi aiuto,

Mark

risposta

23

ho appena capito che avevo bisogno di aggiungere:

using System.ComponentModel.DataAnnotations.Schema; 

non ho avuto bisogno di muoversi prima, quindi presumo ForeignKey è stata spostato sotto lo spazio dei nomi dello schema.

Spero che questo aiuti chiunque altro,

Grazie, Mark

+0

dal modo in cui è possibile utilizzare CTRL +. (Punto) di scelta rapida per la risoluzione di questo automatiche errori – Alexander

+0

imbattuto in questo io stesso circa una settimana fa ... si sono mossi molto nella nuova versione – Ben

+0

Sto colpendo un problema inverso: aggiornato a RC 2012 e ho fatto quanto sopra per far funzionare i miei attributi. Dovevo quindi eseguire il downgrade su .NET 4.0 (Azure non supporta ancora .NET 4.5) e ora sto premendo lo stesso ForeignKey e l'attributo NotMapped non trova errori, anche se mi sembra di fare riferimento alla DLL corretta (System.ComponentModel. DataAnnotations). Frustrante. – jeremy