WCF Data Service 클라이언트를 사용하고 datacontext (EntityFramework)에 개체를 추가하려고합니다. 개체가 추가되었지만 나중에 ID를 사용할 수 없습니다. SaveChanges 메서드를 트리거 한 후에 개체가 자동으로 생성 된 ID를 직접 가져올 가능성이 있습니까?AddObject에 데이터를 추가하면 ID를 반환하는 방법은 무엇입니까?
public partial class MyEntities
{
public async Task<bool> SaveChanges()
{
var queryTask = Task.Factory.FromAsync(this.BeginSaveChanges(null,null), asResult =>
{
return(asResult.IsCompleted);
});
return await queryTask;
}
}
나는
AddObject
방법을 확장하는 것이 시도
하지만,이 approch은 0 값 반환 :
Order order=new Order();
order.name="test";
context.AddObject("Order", order);
if (await context.SaveChanges()) //Extension method on my context to save changes async
{
System.Diagnostics.Debug.WriteLine(order.id); //output: 0
}
내 확장 방법은 다음과 같습니다 당신이 사용할 수있는 경우
internal async void AddObject<TResult>(object entity) where TResult : IExtend
{
base.AddObject(entity.ToString().Split('.').Last(), entity);
if (await this.SaveChanges())
{
System.Diagnostics.Debug.WriteLine(((TResult)entity).id); //output: 0
}
}
내가 Savehanges 기능에 EndSaveChanges 기능을 miesed 것으로 나타났다. 나를 올바른 방향으로 향하게 해주셔서 감사합니다. –