[c#]ASP.NET 实体框架不能隐式转换类型

标签: Asp.net C#
发布时间: 2017/2/25 3:17:14
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我得到了一行代码如下所示︰

ProjectClass pricing = db.Data.Where(model => model.collection == “aaa”);

但我会出现此错误︰

Cannot implicitly convert type 'System.Linq.IQueryable<ProjectName.Models.ProjectClass>' to 'ProjectName.Models.ProjectClass'. An explicit conversion exists (are you missing a cast?)

我到底做错了?

这里是我的 ProjectClass

public class ProjectClass
    {
        [Key]
        public int id { get; set; }
        [DisplayName("Design")]
        public string name { get; set; }
        [DisplayName("Price")]
        [DisplayFormat(DataFormatString = "{0:n0}")]
        public int basePrice { get; set; }
        [DisplayName("Size")]
        public int sqft { get; set; }
        [DisplayName("Collection")]
        public string collection { get; set; }
        [DisplayName("Hidden")]
        public bool hidden { get; set; }
    }

解决方法 1:

论语的结果与任何数量的结果使用Where

 List<ProjectClass> result = db.Data.Where(model => model.collection == “aaa”).ToList(); 

论语为只有 0 或 1 的结果使用SingleOrDefault

 var result = db.data.SingleOrDefault(model => model.collection == "aaa");

其结果将是 null 如果没有记录匹配。

用于查询的第一个匹配记录的使用FirstOrDefault

var result = db.data.FirstOrDefault(model => model.collection == "aaa");

其结果将是 null 如果没有记录匹配。

赞助商