SQL Server 2012データベースに対してエンティティフレームワーク4.3.1を使用しており、これらのテーブルを含むデータベースがあります(他にもありますが、関連するビットは以下にあります):
Customer
CustomerNumber nvarchar(10) not null primary key
SalesDocument
SalesDocumentNumber nvarchar(10) not null primary key
CustomerNumber nvarchar(10) not null
次のコード スニペットを実行しています。
const string docNumber = "111348718";
IQueryable<SalesDocument> docs = factory.CreateSalesDocumentRepository().All;
var ssd = docs.Single(s => s.SalesDocumentNumber.Equals(docNumber));
if (ssd.Customer == null)
Console.WriteLine("NOOOOOOO");
ssd = docs
.Include(s => s.Customer)
.Single(s => s.SalesDocumentNumber.Equals(docNumber));
if (ssd.Customer == null)
Console.WriteLine("YESSSSSS");
NOOOOOOOしか印刷されません。
そのため、遅延読み込みは機能していないようですが、熱心な読み込みは機能しています。
このシナリオで何がうまくいかなかったのか、一体どのようにデバッグできますか(これが失敗する可能性のある原因は何ですか-私にはEFのバグのように感じますが、それを宣言することを延期し、蒸し暑い山全体を捨てています窓の)?2番目のものが正常に機能していれば、構成は確かにOKです...?