我有3张表格,如下图所示

我在c#上有实体框架codefirst模型(自动生成)
我正在尝试从每个元素的包含附件的实体列表中获取IEnumerable,我希望每个附件的AttachmentType都包含这些附件元素。
为了更好地演示,我需要:
IEnumerable<Registry> registries = GetTableData();
string oneofthedesiredname = registries
.First()
.Attachments
.First()
.AttachmentType.Name; //I want that, this definition works but its null使用GetTableData()方法类似于
public IEnumerable<Registry> GetTableData()
{
IQueryable<Registry> _registries = _entities.Registry;
IEnumerable<Registry> data;
data = _registries
.Where(p=>p.IsDeleted==false)
.Include(p=>p.Attachments.Where(x=>x.IsDeleted==false))
.AsEnumerable();//this query should have change because I cant get Attachmenttypes from this
return data;
}谢谢大家,感谢你们的帮助。
发布于 2017-05-30 21:14:27
还必须在查询中为AttachmentType添加额外的Include。
public IEnumerable<Registry> GetTableData()
{
IQueryable<Registry> _registries = _entities.Registry;
IEnumerable<Registry> data = _registries
.Include(x => x.Attachments)
.Include("Attachments.AttachmentType")
// here do necessary filtering with Where()
// ...
return data;
}发布于 2017-05-30 22:06:29
使用此函数
public IEnumerable<Registry> GetTableData()
{
IQueryable<Registry> _registries = _entities.Registry,where(m=>m.IsDeleted==false);
IEnumerable<Registry> data;
data = _registries .Include(p=>p.Attachments.Where(x=>x.IsDeleted==false)).
include(p=>p.AttachmentType).AsEnumerable();
return data;
}https://stackoverflow.com/questions/44262981
复制相似问题