1
我已經defiend我的asp.net mvc的文應用程序內的下列模型類: -無法隱式轉換類型「System.Collections.Generic.IEnumerable <了System.Collections.Generic.ICollection
public class CustomerDetails
{
public AccountDefinition AccountDefinition {get; set;}
public SDOrganization SDOrganization {get; set;}
public ICollection<SiteDefinition> SiteDefinition { get; set; }
public ICollection<AaaPostalAddress> AaaPostalAddress { get; set; }
public ICollection<AaaContactInfo> AaaContactInfo { get; set; }
public virtual ICollection<UserSiteMapping> UserSiteMapping { get; set; }
}
然後我寫下面的查詢: -
var customerDetails = entities.AccountDefinitions
.Where(a => a.ORG_ID == id)
.Select(cd => new CustomerDetails
{
AccountDefinition = cd,
SDOrganization = cd.SDOrganization,
AaaPostalAddress = cd.SDOrganization.AaaPostalAddresses,
AaaContactInfo = cd.SDOrganization.AaaContactInfoes,
SiteDefinition = cd.SiteDefinitions,
UserSiteMapping = cd.SiteDefinitions.Select(p2 => p2.UserSiteMappings) //this is raising the exception
})
.SingleOrDefault();
return customerDetails;
但我得到以下誤導性的錯誤: -
無法隱式轉換類型' System.Collections.Generic.IEnumerable>'到'System.Collections.Generic.ICollection'。一個顯式轉換存在(是否缺少強制轉換?)
我不知道到底是什麼原因造成的錯誤,因爲我選擇相關的SiteDefinition的UserSiteMapping
,我到UserSiteMapping集合分配這些(如我的視圖模型中定義的那樣)?
非常感謝您的回覆。但爲什麼SelectMany可以解決這個問題? ,因爲在這兩種情況下(使用Select或SelectMany)它應該返回與特定SiteDefinition有關的所有UserSiteMapping對象? –
我試過SelectMany和Tolist。但這並沒有解決問題。我會得到一個更具誤導性的錯誤。 「無法從」System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable ,System.Func >)「方法的類型參數用法,請嘗試明確指定類型參數。「 –