本文整理汇总了C#中System.Web.Http.OData.Delta.GetChangedPropertyNames方法的典型用法代码示例。如果您正苦于以下问题:C# Delta.GetChangedPropertyNames方法的具体用法?C# Delta.GetChangedPropertyNames怎么用?C# Delta.GetChangedPropertyNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Http.OData.Delta
的用法示例。
在下文中一共展示了Delta.GetChangedPropertyNames方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Patch
public IHttpActionResult Patch(Delta<SampleModel> delta)
{
// Using the Patch method on Delta<T>, will only overwrite only the properties whose value has
// changed.
var model = new SampleModel();
delta.Patch(model);
// Using Delta doesn't invoke validation on the values that are provided, so use the Validate method
// on the model object after patching to validate it.
this.Validate(model);
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var builder = new StringBuilder();
builder.AppendLine("Updated Properties:");
foreach(var property in delta.GetChangedPropertyNames())
{
object value;
delta.TryGetPropertyValue(property, out value);
builder.AppendLine(String.Format("\t{0} : {1}", property, value));
}
return Text(builder.ToString());
}
示例2: Patch
public IHttpActionResult Patch([FromODataUri] int key, Delta<Product> patch)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
Delta<V2VM.Product> v2Patch = new Delta<V2VM.Product>();
foreach (string name in patch.GetChangedPropertyNames())
{
object value;
if (patch.TryGetPropertyValue(name, out value))
{
v2Patch.TrySetPropertyValue(name, value);
}
}
var v2Product = _repository.Patch((long)key, v2Patch, Request);
return Updated(Mapper.Map<Product>(v2Product));
}
示例3: CanChangeDerivedClassProperties
public void CanChangeDerivedClassProperties()
{
// Arrange
dynamic delta = new Delta<Base>(typeof(Derived));
// Act
delta.DerivedInt = 10;
// Assert
Assert.Equal(delta.GetChangedPropertyNames(), new[] { "DerivedInt" });
}