无法创建“匿名类型”类型的常量值。此上下文仅支持基元类型或枚举类型。
Posted hao-1234-1234
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法创建“匿名类型”类型的常量值。此上下文仅支持基元类型或枚举类型。相关的知识,希望对你有一定的参考价值。
// 获取类别表数据
var typeIDList = new List<int> { 2, 3, 4, 5, 6, 7 };
var typeList = db.T_Dictionary
.Where(d => typeIDList.Contains(d.TypeID))
.Select(d => new { d.TypeID, d.DKey, d.DValue }).ToList();
//获取植物的数据
var data = db.T_Plants2.Where(d => d.PlantID == id).Select(p => new Plants
{
PlantID=p.PlantID,
Family=p.Family,
//根据id,获取类别名称
//OriginName = (typeList.Where(d => d.TypeID == 2 && d.DKey == p.Origin).Select(d => d.DValue).FirstOrDefault()),//报错
}).FirstOrDefault();
正确做法
if (data != null)
{
data.OriginName = typeList.Where(d => d.TypeID == 2 && d.DKey == data.Origin).Select(d => d.DValue).FirstOrDefault();
}
// 数据接收模型
public class Plants
{
public int PlantID { get; set; }
public string Family { get; set; }
public string OriginName { get; set; }
}
以上是关于无法创建“匿名类型”类型的常量值。此上下文仅支持基元类型或枚举类型。的主要内容,如果未能解决你的问题,请参考以下文章
无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型
无法创建类型为“x”的常量值。此上下文仅支持原始类型或枚举类型
实体框架,无法创建类型为“XX”的常量值。此上下文仅支持原始类型或枚举类型
无法创建类型为“EShop.ClassLibrary.ProductType”的常量值。此上下文仅支持原始类型或枚举类型