Entity framework 无法将IQueryable转换为可计算,因为T具有Guid属性

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

我有以下EF课程:

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,但这正是问题所在