Я 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> 'to' System.Collections.Generic.ICollection '. Явное преобразование существует (вы пропали без вести броска?)
Я не знаю точно, что вызывает ошибку, так как я выбор UserSiteMapping
, связанный с SiteDefinition, и я задаю их к коллекции UserSiteMapping (как определено в моей модели представления) ????
Спасибо большое за ответ. но почему бы SelectMany решить эту проблему? , как в обоих случаях (с помощью Select или SelectMany), он должен вернуть все объекты UserSiteMapping, связанные с определенным SiteDefinition? –
Я попробовал SelectMany и Tolist. но это не решило проблему. я получу более вводящую в заблуждение ошибку. «Аргументы типа для метода« System.Linq.Enumerable.SelectMany (System.Collections.Generic.IEnumerable , System.Func >) 'не может быть выведено из использование. Попробуйте явно указать аргументы типа. " –