2016-08-08 3 views
1

私はEFで作業を開始しました。 私は単純なモデルPageRelated Pagesを持っています。外部キー "エンティティタイプYのプロパティXが見つかりませんでした" Entity Frameworkコア

public class Page 
{ 
    public int ID { get; set; } 
    [Required] 
    public string UrlName { get; set; } 
    [Required] 
    public string Title { get; set; } 
    public List<RelatedPages> RelPages1 { get; set; } 
    public List<RelatedPages> RelPages2 { get; set; } 
} 
public class RelatedPages 
{ 
    public int ID { get; set; } 
    public int Page1ID { get; set; } 
    public Page Page1 { get; set; } 
    public int Page2ID { get; set; } 
    public Page Page2 { get; set; } 
} 

これは私のDbContextである:

protected override void OnModelCreating(ModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<Page>().HasIndex(x => x.UrlName).IsUnique(); 

    modelBuilder.Entity<RelatedPages>().HasOne(x => x.Page1).WithMany(x => x.RelPages1).HasForeignKey(x => x.Page1ID); 
    modelBuilder.Entity<RelatedPages>().HasOne(x => x.Page2).WithMany(x => x.RelPages2).HasForeignKey(x => x.Page2ID); 
} 

私は、コマンドに

dbContext.Pages.Where(x => x.RelPages1 != null); 

を実行しようとするけれども、私は例外

InvalidOperationExceptionがあります:プロパティ「Page1IDを'のエンティティタイプ'ページ 'が見つかりませんでした。プロパティが存在し、モデルに含まれていることを確認します。

答えて

2

これはEFコアのバグのようです。 https://github.com/aspnet/EntityFramework/issuesに問題を提出できます。その後、

何を照会しようとしていることは、少なくとも1 RelPages1を持っているすべてのページの集合である場合は、同じバグを持っていると期待する結果が返されていないLINQクエリ:

dbContext.Pages.Where(x => x.RelPages1.Count() > 0) 
+0

この問題は解決されていますか?私は同じ問題に直面しています。 –

関連する問題