Linq Queries and Cannot implicitly convert type error

According to given project id(this id is coming to action as a parameter), I want to find this project and this project's issues and then I want to find some issues which has the "bug" type using linq queries in my MVC asp.net web application. But when I try below code in my action in ProjectController, I take this error: Cannot implicitly convert type 'System.Collection.Generic.List<System.Collections.Generic.List<MVCTest1.Models.Issue>>'to 'System.Collections.Generic.List<MVCTest1.Models.Issue>' and

        List<Issue> issueList = (from i in db.Projects where i.projectID == projectId select i.Issues).ToList();

        List<Issue> bugList = (from bug in issueList where bug. ) --> I cannot reach properties of bug issue

Here my project Model:

  public class Project
  {

    public int projectID { get; set; }

    public string projectName { get; set; }

    public string descriptionProject { get; set; }

    public Project parentProject { get; set; }

    public string identifier { get; set; }


    public DateTime date { get; set; }

    public List<Project> subProjects { get; set; }

    public virtual List<Issue> Issues { get; set; }     
  }

and my Issue Model:

 public class Issue
 {
    public int issueID { get; set; }

    public string description { get; set; }

    public string subject { get; set; }

    public IssueStatus? status { get; set; }

    public Issue parentTask { get; set; }


    public DateTime startDate { get; set; }

    public DateTime dueDate { get; set; }

    public int done { get; set; }

    public IssuePriority? priority { get; set; }

    public IssueType? type { get; set; }

    public virtual List<User> Users { get; set; }

  }

finally my enum:

public enum IssueType
{
    Bug = 0,
    Feature = 1,
    Support = 2,
    Operation = 3
}

Thanks in advance.

// edit 2

        var project = db.Projects.Single(p => p.projectID == projectId);
        var issues = project.Issues;
        var bugIssues = from bug in issues where bug.type == 0 select bug;
        return PartialView(bugIssues);

When I write this I got this error :

The model item passed into the dictionary is of type 'System.Linq.Enumerable+WhereListIterator1[MVCTest1.Models.Issue]', but this dictionary requires a model item of type 'System.Collections.Generic.List1[MVCTest1.Models.Issue]'.

Jon Skeet
people
quotationmark

The problem is that your Issues property is already a List<Issue>. I suspect you want something like:

// TODO: Fix property naming...
var project = db.Projects.Single(p => p.projectId == projectId);
var issues = project.Issues;

Now issues will be a List<Issue> rather than a List<List<Issue>>.

EDIT: For the next problem, you've got an IEnumerable<Issue> but you're expecting a List<Issue>, so you need to call ToList() at that point. For example:

var project = db.Projects.Single(p => p.projectId == projectId);
return PartialView(project.Issues.Where(b => b.type == 0).ToList());

people

See more on this question at Stackoverflow