0
當我測試(使用Fiddler Web Debugger)插入或通過web api將數據發佈到省時,數據通常插入到數據庫中,但是當我訪問GetAll Web API服務的國家將返回NULL:Asp.net web api GetAll在執行POST後返回NULL
http://localhost:51372/api/province/
但之後,我做從我的VS 2013點快速重建解決方案對於網絡版,然後再次訪問來自網頁API的GETALL服務我的國家是返回值:
我怎麼能得到國家正在返回值後我做POST數據?
這是詳細的代碼,我使用
型號:
public class Province
{
public int ProvinceId { get; set; }
[Required]
public string ProvinceName { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
//Foreign Key
[ForeignKey("Country")]
public int CountryId { get; set; }
//virtual
public virtual Country Country { get; set; }
}
public class Country
{
[ScaffoldColumn(false)]
public int CountryId { get; set; }
[Required]
[Index(IsUnique=true)]
[MaxLength(200)]
public string CountryName { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
庫:
private SelsContext db = new SelsContext();
//get all provinces
public IEnumerable<Province> GetAllProvince()
{
IEnumerable<Province> provinces = from c in db.Provinces select c;
return provinces;
}
//post provinces
public Models.Province Add(Models.Province item)
{
item.CreatedAt = DateTime.Now;
item.UpdatedAt = DateTime.Now;
db.Provinces.Add(item);
db.SaveChanges();
return item;
}
控制器:
// GET api/province
[Queryable]
public IQueryable<Province> Get()
{
return repository.GetAllProvince().AsQueryable();
}
// POST api/province
public HttpResponseMessage Post([FromBody]Province value)
{
repository.Add(value);
var response = Request.CreateResponse<Province>(HttpStatusCode.Created, value);
string uri = Url.Link("DefaultApi", new { id = value.ProvinceId });
response.Headers.Location = new Uri(uri);
return response;
}
編輯: 我已經嘗試過Ø遠
在倉庫:
public IEnumerable<Province> GetAllProvince()
{
IEnumerable<Province> provinces = db.Provinces.Include("Country");
return provinces;
}
然後
public IEnumerable<Province> GetAllProvince()
{
IEnumerable<Province> provinces = db.Provinces.SqlQuery("select * from dbo.Provinces left join dbo.Countries on dbo.Countries.CountryId=dbo.Provinces.CountryId");
return provinces;
}
,但得到了同樣的結果。
任何幫助將大大優於。
我已經試過了,但還是同樣的結果之前,任何想法? – 2014-09-01 05:49:11
當我在一個新的項目中再次嘗試你的方式時,只需要兩張桌子,我發現它像一個魅力一樣工作。謝謝 – 2014-09-02 11:29:55