c# - LINQ to Entities in linq join with tuples 仅支持无参数构造函数和初始值设定项

标签 c# entity-framework linq entity-framework-6 tuples

<分区>

我正在尝试连接两个表并创建一个元组列表但出现错误 'LINQ to Entities 仅支持无参数构造函数和初始化程序'

var list = (
    from a in db.CategoryRatings
    join c in db.OverallPerformanceByCategories
        on a.CategoryRatingId equals c.CategoryRatingId
    where c.ReviewId == review.ReviewId
    select(new Tuple<string, double, double>(a.CategoryRatingName, a.CategoryWeight, c.Score))
).ToList(); 

ViewData["ListOverallRating"] = list;

我不想创建匿名类型列表来使用元组,也可以建议其他方式。

最佳答案

使用匿名类型从数据库中获取并转换为内存中的元组。

var list = (
    from a in db.CategoryRatings
    join c in db.OverallPerformanceByCategories
        on a.CategoryRatingId equals c.CategoryRatingId
    where c.ReviewId == review.ReviewId
    select(new {a.CategoryRatingName, a.CategoryWeight, c.Score})
)
.AsEnumerable()
.Select(t =>
    new Tuple<string, double, double>(t.CategoryRatingName, t.CategoryWeight, t.Score))
.ToList(); 

ViewData["ListOverallRating"] = list;

希望对您有所帮助!

关于c# - LINQ to Entities in linq join with tuples 仅支持无参数构造函数和初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734210/

相关文章:

c# - Entity Framework - 包含在子查询中?

c# - 同步 WCF 操作的异步实现

c# - 一个实体上的多个属性需要多对多关系 EF Core 2.2

c# - 使用 SUM 和 IS NOT NULL 对 LINQ for MVC 进行 SQL 查询

c# - 在没有单独的 try-catch block 的情况下 try catch 每一行代码

c# - 如何将 .discomap 文件导入到我在 Visual Studio 2012 中的项目中?

c# - LINQ to Entities 无法识别方法 'Int32

c# - 如何枚举匿名类型的集合?

c# - 如何使用正则表达式拆分字符串

c# - Web 开发框架,兼容 .net 3.5 +