2012-02-01 8 views
0

私はSimple.Dataで遊んできましたが、私が理解できないものを走っています。Simple.Dataレイジーローディングエラー

私のデータには、ホテル、プロジェクト、ProjectMilestoneという3つのテーブルがあります。ホテルは複数のプロジェクトを持つことができ、プロジェクトは複数のプロジェクトマイルストーンを持つことができます。私はSQL Serverを使用しており、テーブルは外部キーによって標準的な方法で関連付けられています。

Simple.Dataを使用する場合は、次のコードは動作しません。

'Simple.Data.SimpleRecordは' の定義が含まれていません:それは言うエラーをスロー

var db = Database.Open(); 
var hotels = db.Hotel.All().Take(100); 

foreach (var hotel in hotels) 
{ 
    foreach (var project in hotel.Project) 
    { 
     foreach (var projectMilestone in project.ProjectMilestone) 
     { 
      //Do something here 
     } 
    } 
} 

'プロジェクト'

ただし、次のコードは、作業を行います。

var db = Database.Open(); 
var hotel = db.Hotel.FindByHotelID(1); 

foreach (var project in hotel.Project) 
{ 
    foreach (var projectMilestone in project.ProjectMilestone) 
    { 
     //Do something here 
    } 
} 

これはまったくわかりません。第二のものが働くと、最初のものも同様に働くはずです。コレクションはAll()によって返されますか?FindByHotelID(1)が返すものと同じもののコレクションではありません。タイプを見て、彼らはそうでなければならないように見えます。

誰でもこれまでに見たことがありますか?

答えて

2

これはSimple.Dataのバグです。今度はNugetの0.14.0.3に修正されています。

+0

ありがとう、マーク。 Simple.Dataは一緒に作業するのが楽しいです。 –