2013-02-22 4 views
7

私は最初のasp.net mvc3アプリケーションを作成しています。私はコードの最初の方法論を使用しています。残念ながら、例外があるナビゲーションプロパティ 'FootballGame'が依存型 'Bd.Domain.Entities.FootballGame'に見つかりませんでした

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

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

:私は、次のモデルがあります:

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; } 
} 

をそして、私は以下のクラスを持っている

ForeignKeyAttributeプロパティには、 'FK_id_FootballGame' タイプ に'Bd.Domain.FootballGame'は無効です。ナビゲーション プロパティ 'FootballGame'が依存型 'Bd.Domain.FootballGame'に見つかりませんでした。 [名前]の値は有効な ナビゲーションプロパティ名である必要があります。

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

しかし、別の例外が表示されるように:

は、私はこれらの行を削除しようとした

ForeignKeyAttributeをプロパティに 'id_FootballTeam_owner' タイプに 'Bd.FootballGameは' ではありません有効です。ナビゲーションプロパティ 'FootballTeam' は、依存型 'Bd.FootballGame'に見つかりませんでした。 Name値 は、有効なナビゲーションプロパティ名である必要があります。

お待ちしております。 よろしく、デニス。

答えて

8

はこれを試してみてください:

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

はあなたに感謝します。あなたは私の問題を解決しました。 – Denis

+0

と私も。..ありがとう。 –

+0

私は理解していません:仮想プロパティはdbテーブルの列として存在する必要がありますか?仮想 "偽の"プロパティを設定すると、次のエラーが表示されます。 System.InvalidOperationException:プロパティ 'Category'をナビゲーションプロパティとして構成できません。プロパティは有効なエンティティタイプでなければならず、プロパティには非抽象ゲッタとセッタが必要です。 – Luke

関連する問題