【发布时间】:2016-08-01 02:37:25
【问题描述】:
我正在使用 Entity Framework 6 和代码优先方法。下面的代码是我正在使用的实体类的简化版本。
public class Complaint
{
public int ComplaintId { get; set; }
public int RemarkId { get; set; }
public string ComplaintName { get; set; }
public virtual Remark RemarkNavigation { get; set; }
}
public class Remark
{
public int RemarkId { get; set; }
public string RemarkText { get; set; }
public virtual ICollection<Complaint> ComplaintsReverseNavigation { get; set; }
}
接下来我将使用 Linq 查询数据库。
var complaints = db.Complaints
.Where(x => x.ComplaintId == 1)
.DefaultIfEmpty()
.ToList();
然后我将使用扩展方法ToBindingList() 来跟踪所做的任何更改。就这样……
var complaintsBindingList = db.Complaints.Local.ToBindingList();
最后,我将在数据网格中显示数据。不幸的是,任何外键数据都无法正确显示,如图所示。
那么我如何在数据网格中显示来自RemarkNavigation 的RemarkText?
【问题讨论】:
-
您是否尝试过使用
Include()子句,例如db.Complaints.Include(x=>x.RemarkNavigation)? -
@TheVillageIdiot 我试过了,看看我的回答。
-
好你想通了。但是,如果您为网格发布了标记,那么有人可能会更早地发现它。
标签: c# entity-framework linq