Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The entity or complex type ' ' cannot be constructed in a LINQ to Entities query [duplicate]

Possible Duplicate:
The entity cannot be constructed in a LINQ to Entities query

   var tasks = from i in data.Incidents                     join a in data.Accounts on i.CustomerID equals a.Acct_CID                     select new Tasks()                     {                          creator_id = a.ID,                         start_date = i.DateOpened,                         end_date = i.DateCLosed,                         product_code = i.ProductCode,                         install_type = i.InstallType,                         os = i.OSType,                         details = i.Description,                         solution = i.Solution,                         creator_name = i.TechID,                         category = i.Title,                         text = "Ticket for" + " " + i.Name,                         status_id = 7                     };          foreach (var task in tasks)             data.Tasks.Add(task);         data.SaveChanges();   public class Incidents     {         [Key]         public int IncidentID { get; set; }         public string CustomerID { get; set; }         public string ProductCode { get; set; }         public string TechID { get; set; }         public DateTime DateOpened { get; set; }         public DateTime DateCLosed { get; set; }         public string Title { get; set; }         public string Description { get; set; }         public string Solution { get; set; }         public string Name { get; set; }         public string OSType{ get; set; }         public string InstallType { get; set; }         public string AddOnSoftware { get; set; }         public string ScreenShare { get; set; }     } 

gives me an error when I try to iterate, I would love some help with this

like image 890
Chazt3n Avatar asked Oct 16 '12 13:10

Chazt3n


1 Answers

In Linq-to-Entities you can only project to an anonymous type or a regular class. You can't project to an existing entity type. You can with linq-to-objects like so

var tasks = (from i in data.Incidents             join a in data.Accounts on i.CustomerID equals a.Acct_CID              select new              {                creator_id = a.ID,                start_date = i.DateOpened,                end_date = i.DateCLosed               // ...              }).AsEnumerable().Select(x => new Tasks {                creator_id = x.creator_id,                start_date = x.start_date,                end_date = x.end_date                            }).ToList(); 
like image 67
Aducci Avatar answered Sep 21 '22 04:09

Aducci