移动Azure服务c# . net后端补丁未更新
本文关键字:补丁 更新 后端 net Azure 服务 移动 | 更新日期: 2023-09-27 18:18:24
我用c#创建了一个简单的。net后端移动azure服务。我已经启动并运行了移动服务(它目前所做的一切都是在单个表上使用普通CRUD)。我遇到的问题是补丁/更新不会像它说的那样做。我可以做所有我尝试过的事情,SELECT, INSERT, DELETE,但是我无法更新数据。
当我调试到调用UpdateAsync的代码块时,patch.GetEntity().....总是有值NULL或零或第一天的日期时间,就像它没有传递我想要更新的属性值。我唯一拥有的值就是正确的id。下面我试着去掉一些代码,我使用了Azure网站上前几个教程中的一些代码。
我有一个数据对象:public class AdminLookupDATA: EntityData
{
public string description { get; set; }
public int lookuptype { get; set; }
public int priority { get; set; }
public bool inactive { get; set; }
public DateTime createdate { get; set; }
public DateTime editdate { get; set; }
}
我有DTO:
public class AdminLookupDTO
{
public string id { get; set; }
public string description { get; set; }
public int lookuptype { get; set; }
public int priority { get; set; }
public bool inactive { get; set; }
public DateTime createdate { get; set; }
public DateTime editdate { get; set; }
}
我有一个模型:
public class AdminLookupModel
{
public string Id { get; set; }
public string description { get; set; }
public int lookuptype { get; set; }
public int priority { get; set; }
public bool inactive { get; set; }
public DateTime createdate { get; set; }
public DateTime editdate { get; set; }
}
My PATCH inside My controller:
public Task<AdminLookupDATA> PatchAdminLookupDATA(string id, Delta<AdminLookupDATA> patch)
{
return UpdateAsync(id, patch);
}
同样,如果我尝试直接从浏览器运行PATCH函数,在"尝试一下"部分,我也有同样的问题,所以这是我在服务项目本身中配置错误的东西。如有任何建议,不胜感激。
谢谢,Rob
属性名必须以大写字母开头。
否则按如下所示配置CamelCasePropertyNamesContractResolver:
http://odetocode.com/blogs/scott/archive/2013/03/25/asp-net-webapi-tip-3-camelcasing-json.aspx代码片段
var formatters = GlobalConfiguration.Configuration.Formatters;
var jsonFormatter = formatters.JsonFormatter;
var settings = jsonFormatter.SerializerSettings;
settings.Formatting = Formatting.Indented;
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();