Если вы хотите сделать это, как у вас было:
var getPhotos = (from m in db.photos
join n in db.comments on m.id equals n.photoid
where n.ownerName == User.Identity.Name
select new {
m.imgcrop, m.id,
n.commenterName, n.comment
}).Take(10);
На самом деле вы можете это сделать, не создавая новую "CommentsViewModel", но просто используйте то, что должно быть существующими таблицами и моделями:
var getPhotos = (from m in db.Photos
join n in db.Comments on m.Id equals n.PhotoId
where n.OwnerName == User.Identity.Name
select new {
ImageCrop = m.ImageCrop,
Id = m.Id,
CommenterName = n.CommenterName,
Comment = n.Comment
}).Take(10);
Модели были бы похожи на эти примеры, если бы вы имели отношение внешнего ключа к Photo.Id к Comments.PhotoId:
public class Photos
{
public int Id { get; set; }
public string ImageCrop { get; set; }
[ForeignKey("PhotoId")]
public virtual Comments Comment { get; set; }
}
public class Comments
{
public int Id { get; set; }
public int PhotoId { get; set; }
public string CommenterName { get; set; }
public string OwnerName { get; set; }
public string Comment { get; set; }
}
Только примечание: модели, которые вы отобразилив вашем вопросе не было ни одного из этих столбцов, но вы строили запрос против них.Лучше не забывать давать полную картину при обращении за помощью.