2017-11-25 9 views
0

print( "Hello World!");エンティティフレームワークの関連付けのマッピングが機能していません。

私は.NETの世界の初心者ですが、エンティティフレームワークを使用しようとしていますが、問題があります。リレーションエンティティはロードされていません。ここで

は私のモデルです:私にとって

[Table("Path")] 
public class Path 
{ 
    [Key] 
    public int PathId { get; set; } 
    [Required] 
    public string Title { get; set; } 
    public List<Image> Images { get; set; } 
    [Required] 
    public string Description { get; set; } 
    [Required] 
    public float LocationX { get; set; } 
    [Required] 
    public float LocationY { get; set; } 
    [Required] 
    public string QrCode { get; set; } 
    public List<Mark> Marks { get; set; } 
} 

[Table("Mark")] 
public class Mark 
{ 
    [Key] 
    public int MarkId { get; set; } 
    public int Value { get; set; } 
    public int PathForeignKey { get; set; } 
    [ForeignKey("PathForeignKey")] 
    public Path Path { get; set; } 
} 

[Table("Image")] 
public class Image 
{ 
    [Key] 
    public int ImageId { get; set; } 
    [Required] 
    public string Name { get; set; } 
    public string Description { get; set; } 
    public int PathForeignKey { get; set; } 
    [ForeignKey("PathForeignKey")] 
    public Path Path { get; set; } 
    [Required] 
    public string Source { get; set; } 
} 

、すべてがOKですが、私も自分のデータベースに正しいエントリがあります。 database entries

しかし、私の関係、私は、データベースを読んでいるの負荷をいけません私のコントローラに。

[HttpGet] 
public IEnumerable<Path> GetAll() 
{ 
    return _context.Paths.ToList(); 
} 

results

ごめんなさい、私はそれはおそらく、愚かな初心者エラーだと思いますが、私は私が間違っていたものを参照してくださいいけません。私は様々なデータベースシステムを試してみましたが、実際にはそうではありません。

答えて

2

virtualと表示されます。第aproachは、前記);

return _context.Marks.Include(x => x.Path).ToList(); 
+0

遅延ロードは、ネットコアでは使用できません。例えば:

[Table("Mark")] public class Mark { [Key] public int MarkId { get; set; } public int Value { get; set; } public int PathForeignKey { get; set; } [ForeignKey("PathForeignKey")] public virtual Path Path { get; set; } //Added virtual keyword } 

とナビゲーションプロパティをロードするための第2の方法は、データをフェッチしている間Includeを使用することです行く道。 –

+0

はい、私は熱狂的に遅延読み込み機能を待っています:) ところで、彼はEntity Framework CoreではなくEntity Frameworkを使用していると言いました。 –

+0

よろしくお願いします。遅れて怠惰なロードがすぐに利用可能になることを願っています:-) –

関連する問題