无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“System.C...

无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“System.Collections.Generic.List<Ecology.Model.EnergyFlowGraph>”

 

一、EF应用中,常见类型转换问题解决方案

        public List<EnergyFlowGraph> GetData()
        {
            var data = db.EnergyFlowGraph.Select(d => new
            {
                ClassID = d.ClassID,
                ParentClassID = d.ParentClassID,
                ClassName = d.ClassName,
            }).ToList();
             return data;
            //报错: 无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“System.Collections.Generic.List<Ecology.Model.EnergyFlowGraph>”	
            // 根据提示可知错误的原因 匿名类型anonymous type
            //d => new EnergyFlowGraph
            //解决方案一: new EnergyFlowGraph
            //var data = db.EnergyFlowGraph.Select(d => new EnergyFlowGraph
            //{
            //    ClassID = d.ClassID,
            //    ParentClassID = d.ParentClassID,
            //    ClassName = d.ClassName,

            //}).ToList();
            //return data;
            //解决方案二:foreach遍历
            //var list = new List<EnergyFlowGraph>();
            //foreach (var temp in data)
            //{
            //    var energyFlowGraph = new EnergyFlowGraph();
            //    energyFlowGraph.ClassID = temp.ClassID;
            //    energyFlowGraph.ClassName = temp.ClassName;
            //    energyFlowGraph.ParentClassID = temp.ParentClassID;
            //    list.Add(energyFlowGraph);
            //}
            //return list;

        }

  

 

二、model类

namespace Ecology.Models
{
    using System;
    using System.Collections.Generic;
    
    public partial class EnergyFlowGraph
    {
        public string ClassID { get; set; }
        public string ParentClassID { get; set; }
        public string ClassName { get; set; }

    }
}

 

三、测试结果

1、 经测,方案一失败,方案二成功。

2、有些情况下我们会专门为视图View(MVC)建一个视图类,已整合我们想要的数据。一般名称会区别于原始类名称。

 

转载于:https://www.cnblogs.com/hao-1234-1234/p/8565843.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值