2012-10-16 16 views
28

संभव डुप्लिकेट:
The entity cannot be constructed in a LINQ to Entities queryसंस्था या जटिल प्रकार '' संस्थाओं के लिए एक LINQ का निर्माण नहीं किया जा सकता क्वेरी

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

मुझे एक त्रुटि देता है जब मैं पुनरावृति करने की कोशिश, मुझे इस

+4

तरह से यह एक डुप्लीकेट के रूप में उन प्रश्नों इसके बारे में लगता है कि आप एक इकाई पर परियोजना के लिए नहीं एक नियमित/गुमनाम प्रकार कोशिश कर रहे हैं से मेरा – Chazt3n

+0

का जवाब नहीं दिया नहीं है कर सकते हैं वह एक जैसे है। दिमाग में यह कहता है * संभव * डुप्लिकेट। – James

+0

10-4 धन्यवाद। – Chazt3n

उत्तर

71

लिंक-टू-एंटिटीज में कुछ मदद चाहिए, आप केवल एक अनाम प्रकार या नियमित कक्षा के लिए प्रोजेक्ट कर सकते हैं। आप किसी मौजूदा इकाई प्रकार पर प्रोजेक्ट नहीं कर सकते हैं। इसलिए IMO - आप LINQ करने वाली वस्तुओं इतना

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

त्रुटि संग्रह प्रारंभकर्ता के साथ 'TRX.CRM.Dashboard.Entities.DashBoard.Tasks' प्रकार प्रारंभ नहीं कर सकता क्योंकि यह 'सिस्टम को लागू नहीं करता है। संग्रह। INumerable ' – Chazt3n

+0

@ Chazt3n - मैंने अंत में' ToList' जोड़ा। इसे – Aducci

+0

आज़माएं 'ToList' इसे ठीक नहीं करता है। यदि आप अज्ञात प्रकार नहीं हैं तो आप अंतर्निहित फ़ील्ड नामों का उपयोग नहीं कर सकते हैं। – jwg

संबंधित मुद्दे