C# 仅支持ASP.Net MVC初始值设定项、实体成员和实体导航属性
我有一个模型类定义为C# 仅支持ASP.Net MVC初始值设定项、实体成员和实体导航属性,c#,asp.net,asp.net-mvc,entity-framework,linq,C#,Asp.net,Asp.net Mvc,Entity Framework,Linq,我有一个模型类定义为 public partial class RoadSegCond { public int ThanaID { get; set; } public short RoadID { get; set; } public int FromChain { get; set; } public virtual SurfaceType SurfaceType { get; set; } } public partial class Surface
public partial class RoadSegCond
{
public int ThanaID { get; set; }
public short RoadID { get; set; }
public int FromChain { get; set; }
public virtual SurfaceType SurfaceType { get; set; }
}
public partial class SurfaceType
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
}
public class SegmentWiseConditionViewModel
{
public int ThanaID { get; set; }
public short RoadID { get; set; }
public int FromChain { get; set; }
public string surfaceType { get; set; }
}
在我的控制器中,我想将信息发送到视图模型,但它显示了
错误LINQ to实体中不支持指定的类型成员“SurfaceType”。仅支持初始值设定项、实体成员和实体导航属性。
我的控制器是
public ActionResult Read([DataSourceRequest]DataSourceRequest request)
{
var model = from r in new RSDMSEntities().RoadSegConds
select new SegmentWiseConditionViewModel
{
RoadID = r.RoadID,
ThanaID = r.ThanaID,
FromChain = r.FromChain,
SurfaceType = r.SurfaceType.Name,
};
DataSourceResult result = model.ToDataSourceResult(request);
return Json(result);
}
视图模型
public class SegmentWiseConditionViewModel
{
public int ThanaID { get; set; }
public short RoadID { get; set; }
public int FromChain { get; set; }
public string surfaceType { get; set; }
}
您没有显示您的
SegmentWiseConditionViewModel
model。并且您的RoadSegCond
没有导航属性(例如int
SurfaceTypeID`)公共类SegmentWiseConditionViewModel{public int ThanaID{get;set;}公共短道路ID{get;set;}公共int FromChain{get;set;}公共字符串surfaceType{get;set;}}使用相关代码(不在注释中)编辑您的问题。但是如果该RoadSegCond
没有surfaceType
的导航属性(请参见我的第二条注释)thx,现在查看问题。