2014-01-24 30 views
0
var queryAccount = from r in orgServiceContext.CreateQuery("cpar") 
          select new 
          { 
           cagid = !r.Contains("cagid") ? string.Empty : r["cagid"], 
           modifiedbyname = !r.Contains("modifiedbyname") ? string.Empty : r["modifiedbyname"], 
           ownerid = !r.Contains("ownerid") ? string.Empty : r["ownerid"], 
           solutionid = !r.Contains("solutionid") ? string.Empty : r["solutionid"], 
           createdon = !r.Contains("createdon") ? string.Empty : r["createdon"], 
           subject = !r.Contains("subject") ? string.Empty : r["subject"], 
           baselineorr = !r.Contains("baseline") ? string.Empty : r["baseline"] 



          }; 

我得到一個錯誤,指出: :+基地{「無法指定孩子在columnset屬性檢索屬性:modifiedbyname」} System.ServiceModel .FaultException {System.ServiceModel.FaultException} 任何幫助表示讚賞。動態CRM 2011的Linq不能說明孩子columnset屬性

回答

2

ModifiedByName不是實體上的實際屬性。您需要通過EntityReference引用該值:

var queryAccount = from r in orgServiceContext.CreateQuery("cpar") 
    select new 
    { 
     cagid = !r.Contains("cagid") ? string.Empty : r["cagid"], 
     modifiedbyname = !r.Contains("modifiedby") ? string.Empty : ((EntityReference)r["modifiedby"]).Name, 
     ownerid = !r.Contains("ownerid") ? string.Empty : ((EntityReference)r["ownerid"]).Name, 
     solutionid = !r.Contains("solutionid") ? string.Empty : r["solutionid"], 
     createdon = !r.Contains("createdon") ? string.Empty : r["createdon"], 
     subject = !r.Contains("subject") ? string.Empty : r["subject"], 
     baselineorr = !r.Contains("baseline") ? string.Empty : r["baseline"] 

    };