Entity framework 无法将IQueryable转换为可计算,因为T具有Guid属性
我有以下EF课程:Entity framework 无法将IQueryable转换为可计算,因为T具有Guid属性,entity-framework,guid,tolist,Entity Framework,Guid,Tolist,我有以下EF课程: class Product { public Guid ProductGuid { get; set; } public string ProductName { get; set; } } 派生自数据库类,其中ProductGuid是唯一标识符,ProductName是nvarchar 将productContext视为上下文: var products = productContext.Products; productList = products.ToL
class Product
{
public Guid ProductGuid { get; set; }
public string ProductName { get; set; }
}
派生自数据库类,其中ProductGuid是唯一标识符,ProductName是nvarchar
将productContext视为上下文:
var products = productContext.Products;
productList = products.ToList();
OR
productList = products.AsEnumerable();
第一条指令正确执行,第二条指令在正确编译的运行时启动异常:
无法将类型“System.Guid”强制转换为类型“System.Object”。林克托
实体仅支持转换实体数据模型基元类型
我尝试了所有它不起作用的东西。我有其他带有Guid字段的表,但它从未启动此类异常。原因是什么?您真的需要在该属性中使用GUID类型吗?绳子不会帮你吗
尝试替换GUID。改为使用字符串。我不能,首先我使用.NET 3.5,因此我既不能使用ToString,也不能使用LINQ to Entities中.NET 4.0中可用的sql函数。如果我将IQueryable转换为IEnumerable,我可以使用ToString,但这正是问题所在