message: set objectId instead of id string for embedded objects.
diff: @@ -116,7 +116,7 @@ function executeBulkPut(model: Mongoose.Model<any>, objArr: Array<any>, donotLoa
  let length = objArr.length;
  var asyncCalls = [];
  let fullyLoaded = objArr && objArr.length > 0 && objArr[0][ConstantKeys.FullyLoaded];
  - var ids = objArr.map(x => x._id);
  + var objectIds = [];
  var bulk = model.collection.initializeUnorderedBulkOp();
  return mongooseHelper.addChildModelToParent(model, objArr).then(r => {
  @@ -134,6 +134,7 @@ function executeBulkPut(model: Mongoose.Model<any>, objArr: Array<any>, donotLoa
  for (let i = 0; i < objArr.length; i++) {
  let result = objArr[i];
  var objectId = new Mongoose.Types.ObjectId(result._id);
  + objectIds.push(objectId);
  delete result._id;
  for (let prop in transientProps) {
  delete result[transientProps[prop].propertyKey];
  @@ -165,12 +166,12 @@ function executeBulkPut(model: Mongoose.Model<any>, objArr: Array<any>, donotLoa
  // remove eagerloading propeties because it will be used for updating parent
  // validate that no one have tampered the new persistent entity
  prom = Q.when(objArr);
  - ids.forEach((id, index) => {
  + objectIds.forEach((id, index) => {
  objArr[index]['_id'] = id;
  });
  }
  else {
  - prom = findMany(model, ids);
  + prom = findMany(model, objectIds);
  }
  return prom.then((objects: Array<any>) => {
  return mongooseHelper.updateParent(model, objects).then(res => {
  