sintaxis inner framework consultas c# linq-to-entities

c# - inner - linq to entities join



La entidad o tipo complejo '''' no se puede construir en una consulta LINQ to Entities (1)

Posible duplicado:
La entidad no se puede construir en una consulta LINQ to Entities

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; } }

me da un error cuando trato de iterar, me gustaría algo de ayuda con esto


En Linq-to-Entities solo puedes proyectar a un tipo anónimo o una clase regular. No puede proyectar a un tipo de entidad existente. Puedes con linq-to-objects como así

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();