EF 查询外键对应的实例
1. 查询时易遇到的情况:
能查询到外键值,但对应的外键实例为null.
解决方法:
(1) 使用EF的include
// 我的应用如下
// SampleResult中的Sample为外键对应的实例。
// Test为Sample中对应的实例
public void Search()
{
DateTime tMin = _minDateTime == null ? DateTime.MinValue : _minDateTime.Value.Date;
DateTime tMax = _maxDateTime == null ? DateTime.MaxValue : _maxDateTime.Value.Date.AddDays(1);
IQueryable<SampleResult> IResults = _databaseContext.SampleResults.Where(x => x.Sample.ArriveDateTime < tMax && x.Sample.ArriveDateTime >= tMin && x.Sample.Barcode.Contains(Barcode)).Include(p=>p.Sample).Include(p=>p.Sample.Test);
this.Results = new ObservableCollection<SampleResult>(IResults);
}
(2) 必须引用文件:
...\EntityFramework.6.2.0\lib\net45\EntityFramework.dll
using System;
using System.Linq;
using System.Data.Entity;