私は Web サービスをコーディングしています。Web API 2
オブジェクトを .xml ファイルで編集する前に、オブジェクトの値を取得する方法を教えてDbSet
ください。
私はいくつかの調査を行い、ObjectStateEntry
オブジェクトを使用する必要があると考えています。ただし、オブジェクトを使用してオブジェクトの値を取得する方法がわかりませんObjectStateEntry
。
これは、動作すると思われるいくつかのコードを含む単純な put 関数です。
// PUT: api/Templates1/5
[ResponseType(typeof(void))]
public async Task<IHttpActionResult> PutTemplate(int id, Template template)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != template.id)
{
return BadRequest();
}
ObjectStateEntry myObjectState = db.ObjectStateManager.GetObjectStateEntry(template);
var originalValues = myObjectState.OriginalValues;
db.Entry(template).State = EntityState.Modified;
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!TemplateExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return StatusCode(HttpStatusCode.NoContent);
}
次のエラーが表示されます。
'DataService.Context.DataServiceContext' には 'ObjectStateManager' の定義が含まれておらず、タイプ 'DataService.Context.DataServiceContext' の最初の引数を受け入れる拡張メソッド 'ObjectStateManager' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)
オブジェクトがデータベースで編集される前に、誰かがオブジェクトの値を取得するのを手伝ってくれませんか?