2013-02-22 35 views
7

Tôi đang tạo ứng dụng asp.net mvc3 đầu tiên của mình. Tôi đang sử dụng phương pháp mã đầu tiên. Tôi có các mô hình sau:Thuộc tính điều hướng 'FootballGame' không được tìm thấy trên loại phụ thuộc 'Bd.Domain.Entities.FootballGame'

public class FootballGame 
{ 
    [Key] 
    public Guid id_FootballGame { get; set; } 

    [ForeignKey("FootballGame")] 
    public Guid? FK_id_FootballGame { get; set; } 
    public virtual FootballGame PreviousFootballGame { get; set; } 

    [ForeignKey("FootballTeam")] 
    public Guid id_FootballTeam_owner { get; set; } 
    public virtual FootballTeam FootballTeamOwner { get; set; } 

    [ForeignKey("FootballTeam")] 
    public Guid id_FootballTeam_guest { get; set; } 
    public virtual FootballTeam FootballTeamGuest { get; set; } 
} 

public class FootballTeam 
{ 
    [Key] 
    public Guid id_FootballTeam { get; set; } 
    public string teamName { get; set; } 
} 

Và tôi có lớp sau:

public class EFDbContext : DbContext 
{ 
    public EFDbContext() : base("name=EFDbContext") { } 

    public DbSet<FootballTeam> FootballTeams { get; set; } 
    public DbSet<FootballGame> FootballGames { get; set; } 
} 

Thật không may, có một ngoại lệ:

Các ForeignKeyAttribute về sở hữu 'FK_id_FootballGame' vào loại 'Bd.Domain.FootballGame' không hợp lệ. Điều hướng thuộc tính 'FootballGame' không được tìm thấy trên loại phụ thuộc 'Bd.Domain.FootballGame'. Giá trị Tên phải là tên thuộc tính điều hướng hợp lệ.

tôi đã cố gắng để loại bỏ những dòng này:

[ForeignKey("FootballGame")] 
public virtual FootballGame PreviousFootballGame { get; set; } 

Tuy nhiên, ngoại lệ khác xuất hiện:

Các ForeignKeyAttribute về sở hữu 'id_FootballTeam_owner' vào loại 'Bd.FootballGame' không phải là có hiệu lực. Thuộc tính điều hướng 'FootballTeam' không được tìm thấy trên loại phụ thuộc 'Bd.FootballGame'. Giá trị Tên phải là tên thuộc tính điều hướng hợp lệ.

Tôi mong được giúp đỡ. Kính trọng, Denis.

Trả lời

8

Hãy thử điều này:

public class FootballGame 
{ 
    [Key] 
    public Guid id_FootballGame { get; set; } 

    public Guid? FK_id_FootballGame { get; set; } 
    [ForeignKey("FK_id_FootballGame")] 
    public virtual FootballGame PreviousFootballGame { get; set; } 

    public Guid id_FootballTeam_owner { get; set; } 
    [ForeignKey("id_FootballTeam_owner")] 
    public virtual FootballTeam FootballTeamOwner { get; set; } 

    public Guid id_FootballTeam_guest { get; set; } 
    [ForeignKey("id_FootballTeam_guest")] 
    public virtual FootballTeam FootballTeamGuest { get; set; } 
} 
+0

cảm ơn bạn. Bạn đã giải quyết được vấn đề của tôi. – Denis

+0

và của tôi quá .. Cảm ơn u. –

+0

Tôi không hiểu: thuộc tính ảo có tồn tại dưới dạng cột bảng db không? Tôi nhận được lỗi sau khi đặt thuộc tính "giả" ảo: System.InvalidOperationException: Thuộc tính 'Danh mục' không thể được định cấu hình làm thuộc tính điều hướng. Thuộc tính phải là một loại thực thể hợp lệ và thuộc tính phải có trình khởi động và thiết lập không trừu tượng. – Luke

Các vấn đề liên quan