Mam klasy:

[HttpPost]
public IActionResult Post(CmsWebsite cmsWebsite)
{
    using (var context = new ApplicationContext())
    {

        context.CmsWebsite.Add(cmsWebsite);
        context.SaveChanges();

    }

   return Created($"api/Values/{cmsWebsite}", cmsWebsite);
}


public partial class CmsWebsite
{
    public CmsWebsite()
    {
        CmsWebsiteDomain = new HashSet<CmsWebsiteDomain>();
    }

    public int Id { get; set; }
    public DateTime? CreatedAt { get; set; }
    public int? CreatedBy { get; set; }
    public string Description { get; set; }
    public string Name { get; set; }
    public string SeoDescription { get; set; }
    public string SeoKeywords { get; set; }
    public string SeoTitle { get; set; }
    public DateTime? UpdatedAt { get; set; }
    public int? UpdatedBy { get; set; }

    public virtual ICollection<CmsWebsiteDomain> CmsWebsiteDomain { get; set; }
}


public partial class CmsWebsiteDomain
{
    public int Id { get; set; }
    public int CmsWebsiteId { get; set; }
    public string Domain { get; set; }

    public virtual CmsWebsite CmsWebsite { get; set; }
}

Po czy wysyłam request postem:

HTTP POST http://localhost:50618/api/values?name=asdfasf&cmsWebsiteDomain[0].domain=aaaa&cmsWebsiteDomain[1].domain=fffff
Content-Type: application/json
Host: localhost:50618


0 

Response Status: 0 () - dlaczego? powinien być 201 Created.

Inna próba tym razem bez zagnieżdżenia w postaci cmsWebsiteDomain:

HTTP POST http://localhost:50618/api/values?name=asdfasf
Content-Type: application/json
Host: localhost:50618


201 Created
Location: api/Values/WebApp.Model.CmsWebsite
Date: Tue, 25 Apr 2017 22:28:01 GMT
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcVXNlclxkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDE3XFByb2plY3RzXFdlYkFwcFxXZWJBcHBcYXBpXHZhbHVlcw==?=
Server: Kestrel
X-Powered-By: ASP.NET
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
{"id":25,"createdAt":null,"createdBy":null,"description":null,"name":"asdfasf","seoDescription":null,"seoKeywords":null,"seoTitle":null,"updatedAt":null,"updatedBy":null,"cmsWebsiteDomain":[]}

W tym przypadku jest ok.

Kolejny test tym razem bez zapisywania do bazy danych:

HTTP POST http://localhost:50618/api/values?name=asdfasf&cmsWebsiteDomain[0].domain=aaaa&cmsWebsiteDomain[1].domain=fffff
Content-Type: application/json
Host: localhost:50618


201 Created
Location: api/Values/WebApp.Model.CmsWebsite
Date: Tue, 25 Apr 2017 22:31:36 GMT
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcVXNlclxkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDE3XFByb2plY3RzXFdlYkFwcFxXZWJBcHBcYXBpXHZhbHVlcw==?=
Server: Kestrel
X-Powered-By: ASP.NET
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
{"id":0,"createdAt":null,"createdBy":null,"description":null,"name":"asdfasf","seoDescription":null,"seoKeywords":null,"seoTitle":null,"updatedAt":null,"updatedBy":null,"cmsWebsiteDomain":[{"id":0,"cmsWebsiteId":0,"domain":"aaaa","cmsWebsite":null},{"id":0,"cmsWebsiteId":0,"domain":"fffff","cmsWebsite":null}]}

Również wynik jest ok.

Dodam do tego, że jeśli mam przypadek z odwołaniem do bazy danych to zapisywanie do bazy za każdym razem działa dobrze.

Proszę o pomoc.