首页 新闻 会员 周边 捐助

SQL语句的类型转换

0
悬赏园豆:5 [已关闭问题]

  PsProductDataContext db = new PsProductDataContext();

 public List<PsProduct> StaticReport()
        {
            return (from c in db.PsProduct
                   select c.ShCompanyName).ToList();
        }

这段代码系统报 无法将类型“system.collection .generic.list<string>隐士转换为system.collection .generic.list<qdrkProductMvc.Models.PsProduct>,我把代码改为

  public IQueryable<PsProduct> StaticReport()
        {
            return from c in db.PsProduct
                   select c.ShCompanyName;
        }

还是报相同的错,请高手指教

问题补充: 我用viewdata["ss"]=(... select c.ShCompanyName).ToList().在view中用foreach (List<Object> item in ViewData["ti"] as List<Object>)进行遍历,确报了未将对象运用到实例的错。迷糊。
朱梅梅的主页 朱梅梅 | 初学一级 | 园豆:102
提问于:2009-09-02 08:15
< >
分享
其他回答(4)
0

linq to sql没弄过,估计应该是这样写:return (from c in db.PsProdcut select c).ToList(),你那样写仅仅只返回一个ShCompanyName字段

隔山打牛 | 园豆:87 (初学一级) | 2009-09-02 08:29
已经试过,不行的
支持(0) 反对(0) 朱梅梅 | 园豆:102 (初学一级) | 2009-09-02 09:49
不行的,试过了
支持(0) 反对(0) 朱梅梅 | 园豆:102 (初学一级) | 2009-09-02 09:53
忘记谢谢你了,我也是菜鸟一个
支持(0) 反对(0) 朱梅梅 | 园豆:102 (初学一级) | 2009-09-02 09:54
0

你方法给的是一个Model对象,当然不能转化成List<string>, 你可以在第二个改动的

select c.ShCompanyName 加上as models.PsProduct  试试

something | 园豆:5 (初学一级) | 2009-09-02 08:35
不行,报"无法通过引用转换,装箱转换"的错误
支持(0) 反对(0) 朱梅梅 | 园豆:102 (初学一级) | 2009-09-02 09:48
我刚试了一下,不行的,谢谢
支持(0) 反对(0) 朱梅梅 | 园豆:102 (初学一级) | 2009-09-02 09:53
0

既然你是返回select c.ShCompanyName 这个东西,那为什么不直接返回一个string呢?

天堂口 | 园豆:514 (小虾三级) | 2009-09-02 10:10
0

你两段代码返回的值类型都是不匹配的。比如,第一段代码中你函数返回值是 List<PsProduct> ,可是你return的是 (... select c.ShCompanyName).ToList(),是只有一个属性ShCompanyName的List类型,也就是List<string>类型。同理第二段代码也是。你用一楼的的方法后报的什么错呢?

木子muzi | 园豆:210 (菜鸟二级) | 2009-09-02 10:26
谢谢你,我明白了自己错在什么地方了。可是我只想要ShCompanyName这个字段组成的list,名字啊?能否请教应该怎么改正呢?在view中怎么样用foreach传值呢?,我用viewdata["ss"]=(... select c.ShCompanyName).ToList().在view中用foreach (List<Object> item in ViewData["ti"] as List<Object>)进行遍历,确报了未将对象运用到实例的错。迷糊。如果解决了,万分感谢并多给你分得
支持(0) 反对(0) 朱梅梅 | 园豆:102 (初学一级) | 2009-09-02 14:33
0
 public List<PsProduct> StaticReport()
{
return (from c in db.PsProduct
select c).ToList();
}

哈哈,好久不见

 

飞浪 | 园豆:243 (菜鸟二级) | 2011-10-12 17:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册