一些背景
我想将对象列表(我的模型视图)绑定到网格。模型视图包含特定实体的字段和来自合并实体的字段。
由于dbContext超出范围,尝试绑定时出现错误。我意识到我需要使用.Include()方法来渴望加载我的导航属性。但是,我怀疑由于我在使用Linq to Entities,所以现在正在生成另一个错误:
“无法转换类型'System.Linq.IQueryable1'。LINQto 1' to type 'System.Data.Objects.ObjectQuery
Entities仅支持转换EDM基本类型或枚举类型。”
我的代码如下所示,我在这里需要做什么的任何想法?
提前致谢!
public static List<PlanViewModel> GetPlans()
{
using (var context = new RepEntities())
{
var query = (from p in context.Plans
join r in context.RealEstateDetails on p.ReId equals r.ReId
select new PlanViewModel
{
PlanName = p.PlanName,
TargetCompletionDate = p.TargetCompletionDate,
ActualCompletionDate = p.ActualCompletionDate,
Provision = p.Provision,
StatusTypeId = p.StatusTypeId,
StatusCommon = p.StatusCommon,
Building = r.BuildingName,
City = r.City,
Country = r.Country
}).Include("StatusCommon");
return query.ToList();
}
}
您快到了,就Include("StatusCommon")
在之后context.Plans
。因为您需要在迭代之前包含StatusCommon,所以您可以为每次迭代设置StatusCommon值。
public static List<PlanViewModel> GetPlans()
{
using (var context = new RepEntities())
{
var query = (from p in context.Plans.Include("StatusCommon")
join r in context.RealEstateDetails on p.ReId equals r.ReId
select new PlanViewModel
{
PlanName = p.PlanName,
TargetCompletionDate = p.TargetCompletionDate,
ActualCompletionDate = p.ActualCompletionDate,
Provision = p.Provision,
StatusTypeId = p.StatusTypeId,
StatusCommon = p.StatusCommon,
Building = r.BuildingName,
City = r.City,
Country = r.Country
}).toList();
return query;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句