Я точно знаю, что говорит ошибка; однако я не уверен, как получить функциональность, которую я хочу от своего кода.Невозможно неявно конвертировать предложениеComCom для ICollection <SuggestionComment>
var item = from l in context.Suggestions
join a in context.SuggestionVotes on l.id equals a.SuggestionId
join b in context.SuggestionComments on l.id equals b.SuggestionId
join c in context.Users on b.UserId equals c.id
where l.id == id
select new Suggestion
{
id = l.id,
Title = l.Title,
Description = l.Description,
PosterId = l.PosterId,
SuggestionComments = b
};
Я пытаюсь установить SuggestionComments(ICollection<SuggestionComment>)
равные для всех записей в моей таблице SuggestionComments
, которые принадлежат к моему исходному объекту внушения.
Предложения
int id (PK)
string Title
string Description
SuggestionComment
int id (PK)
int SuggestionId (FK)
Hm, это выглядит интересно, я не знал, что я мог бы сделать это. Обычно я это делаю. Включайте или используйте соединения, но для этого экземпляра. Включение не было, так как My suggestionComments сами содержат объекты User. В любом случае, я попробовал ваше предложение и получил «Сущность или сложный тип« jdmexchangeModel.Suggestion »не может быть сконструирован в запросе LINQ to Entities. – Adrian
Я не совсем уверен, что вы пытаетесь сделать, поскольку просто копируете значения «Предложения» в новый экземпляр «Предложения» - почему вы не можете просто выбрать оригинал «Предложение»? Если вы действительно хотите это сделать, проецируйте результаты в анонимный класс, перечислите и создайте новый объект 'Предложения' – Moho
. То, что я в основном пытаюсь сделать, это что-то вроде этого. 'Предложение s = context.Suggestions.Include (P => P.SuggestionComments.Include (P => P.User)). Single()', который не представляется возможным. Вот почему я пытался использовать объединения, чтобы вручную самостоятельно установить все свойства. My SuggestionComment имеет идентификатор '(FK)' to my Users table '(PK) id'. Это имеет смысл? – Adrian