Navigation property is null
<p>Album navigation property is null in SellingRequest when I try to load it by include() while it seems every thing is OK!</p>

<p>These are the codes:</p>

<pre><code>public class Album
{
    public int Id { get; set; }
    public string Note { get; set; }
    public virtual SellingRequest SellingRequest { get; set; }
    public int? SellingRequestId { get; set; }
    public List&lt;Photo&gt; Photos { get; set; }
    public virtual MortgageAndRent MortgageAndRent { get; set; }
    public int? MortgageAndRentId { get; set; }
}
public class SellingRequest
{
    #region Properies

    public int Id { get; set; }
    public virtual  Album Album { get; set; }
    public  int AlbumId { get; set; }

    #endregion Properies
}
</code></pre>

<p>Here is where I create album for SellingRequest.</p>

<pre><code>public ActionResult DoUpload(HttpPostedFileBase file, UploadPopupViewModel uploadPopupViewModel)
    {
        if (file != null &amp;&amp; file.ContentLength &gt; 0)
        {
            string path = Path.Combine(Server.MapPath("~/Contents/Images"), Path.GetFileName(file.FileName));
            file.SaveAs(path);

            Photo photo = new Photo() { Path = path };
            ResponseMessage&lt;Album&gt; album = new ResponseMessage&lt;Album&gt;();

            if(uploadPopupViewModel.SellingRequestId!=0)
                album = _albumService.GetAlbumBySellingRequestId(uploadPopupViewModel.SellingRequestId);

            if (uploadPopupViewModel.MortgageAndRentId != 0)
                album = _albumService.GetAlbumByMortgageAndRentId(uploadPopupViewModel.SellingRequestId);

            if (album.IsSuccess)
            {
                photo.AlbumId = album.Result.Id;
            }
            else
            {
                Album newAlbum = new Album();
                if (uploadPopupViewModel.SellingRequestId != 0)
                    newAlbum.SellingRequestId = uploadPopupViewModel.SellingRequestId;

                if (uploadPopupViewModel.MortgageAndRentId != 0)
                    newAlbum.MortgageAndRentId = uploadPopupViewModel.MortgageAndRentId;

                ResponseMessage&lt;Album&gt; beingSavedAlbum = _albumService.Insert(newAlbum);

                ResponseMessage&lt;SellingRequest&gt; sellingRequest = _sellingRequestService.GetById(uploadPopupViewModel.SellingRequestId);
                if(sellingRequest.IsSuccess)
                {
                    sellingRequest.Result.AlbumId = newAlbum.Id;
                    _sellingRequestService.Update(sellingRequest.Result);
                }
                if(beingSavedAlbum.IsSuccess)
                photo.AlbumId = beingSavedAlbum.Result.Id;
            }
            ResponseMessage&lt;Photo&gt; beingSavedPhoto = _photoService.Insert(photo);
            if (beingSavedPhoto.IsSuccess)
            {
                return RedirectToAction("UploadPopup", "Photo", uploadPopupViewModel);
            }
            else
            {
                ModelState.AddModelError("ImageError", beingSavedPhoto.ErrorMessages[0]);
                return View("AddPhoto");
            }

        }
        else
        {
           ModelState.AddModelError("ImageError", "Please choose a photo.");
            return View("AddPhoto");
        }
    }
}
</code></pre>

<p>And Here is where I Try to query:</p>

<pre><code>public IEnumerable&lt;TEntity&gt; GET(Expression&lt;Func&lt;TEntity, bool&gt;&gt; filter = null,
        Func&lt;IQueryable&lt;TEntity&gt;, IOrderedQueryable&lt;TEntity&gt;&gt; orderBy = null,
        string includeProperties = "")
    {
        IQueryable&lt;TEntity&gt; query = _context.Set&lt;TEntity&gt;();

        if (filter != null)
            query = query.Where(filter);

        foreach (var includeProperty in includeProperties.Split
            (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            query = query.Include(includeProperty);

        if (orderBy != null)
            return orderBy(query).ToList();
        else
            return query.ToList();
    }
</code></pre>

<p>And consequently, Here is where I try to load Album by include.</p>

<pre><code>public List&lt;SellingRequest&gt; GetAllSellingRequests()
    {

        List&lt;SellingRequest&gt; sellingRequests = _sellingRepository.GET(null, includeProperties: "Address,Album.Photos", orderBy: sR =&gt; sR.OrderBy(s =&gt; s.RegisteredDate).OrderByDescending(s =&gt; s.RegisteredDate)).ToList();
        return sellingRequests;
    }
</code></pre>

<p>With this function I have the Address property but Album is null! It also happens vise versa. I mean when I include the sellingRequest from album, it returns me null, as well! This is while I can include all other entities with no problem! </p>

<p><strong>Edit</strong>
This is the schema of my table in database:<br>
<a href="https://i.stack.imgur.com/yJzjt.png" rel="nofollow noreferrer">SellingRequest Table</a><br>
<a href="https://i.stack.imgur.com/i7SNU.png" rel="nofollow noreferrer">And this is the picture of Get.</a></p>

<p>Any suggestion would be appreciated in advance.
Regards </p>