這是我的實體。我首先使用實體框架代碼。The Delta for Patch is null
public class Trade
{
public Guid Id { get; set; }
[MaxLength(10)]
public string AssetClass { get; set; }
public TradeBatch Batch { get; set; }
}
public class TradeBatch
{
public TradeBatch()
{
StartedOn = DateTime.Now;
}
public Guid Id { get; set; }
public DateTime StartedOn { get; set; }
public List<Trade> Trades { get; set; }
}
在我的控制器,我有:
[AcceptVerbs("PATCH")]
public void UpdateTrade(Guid id, Delta<Trade> update)
{
var tradeToUpdate = _repTradeService.GetRepTradeById(id);
update.Patch(tradeToUpdate);
_repTradeService.SaveChanges();
}
當我提出請求(使用招),更新爲空。 這裏是補丁請求:
PATCH http://localhost:61579/api/RepTrades/4e43b48a-a4fd-4ffc-841d-08dac55deb60 HTTP/1.0
User-Agent: Fiddler
Host: localhost:61579
Content-Length: 55
Content-Type: application/json
{"AssetClass":"Test"}
在修補行動「更新」的值總是空。任何指向爲什麼?
我剛剛在今天扔了幾個令人沮喪的時間,在我的情況下,問題原來是我的模型類沒有無參數構造函數。我不確定你是否有類似的問題,但希望這將在未來挽回一些人。 –