我有这个方法:
public async Task<TrainingPlan> CreateTrainingPlan(TrainingPlanDTO trainingPlan)
{
TrainingPlan tp = new TrainingPlan
{
Name = trainingPlan.Name
};
// adding to context
_context.TrainingPlan.Add(tp);
// assign database identity id to property
trainingPlan.ResourceId = tp.Id;
// more entities being saved in dbcontext
// final save in database
await dbcontext.SaveChangesAsync();
}
我想要的是在数据库本身的插入完成之后分配插入的实体的身份ID,以便不对数据库进行多次调用。我已经测试了该方法,并且trainingPlan.ResourceId
始终为 0,因为它采用 tp.Id 的初始值,而不是在SaveChangesAsync
调用该方法后分配的新值。
我需要保留对tp.Id
. 在这种情况下是否可以使用 ref 关键字?