예제 #1
0
 /// <summary>
 /// Updates the regional directorate of the specified Fidal employee.
 /// </summary>
 /// <param name="regionalDirectorateCode">The code of the regional directorate to consider.</param>
 /// <returns>Returns the query.</returns>
 internal IDbQuery UpdateEmployee2(string regionalDirectorateCode)
 {
     return(this.UseQuery("UpdateEmployee2", p =>
                          DbFluent.UpdateQuery(Table("DbEmployee", "employee"))
                          .AddField(q => DbFluent.Field <DbEmployee>(q => q.RegionalDirectorateId).AsNull())
                          .From(Table("RegionalDirectorate", "regionalDirectorate"))
                          .AddIdField(q =>
                                      DbFluent.FieldAsOther <DbEmployee>(
                                          t => t.RegionalDirectorateId, Table("DbEmployee", "employee"),
                                          DbFluent.Field <DbRegionalDirectorate>(
                                              t => t.RegionalDirectorateId, Table("RegionalDirectorate").WithAlias("regionalDirectorate"))))
                          .AddIdField(q =>
                                      DbFluent.FieldAsParameter <DbEmployee>(
                                          t => t.Code,
                                          DbFluent.Table("employee"),
                                          q.UseParameter("regionalDirectorateCode", DataValueTypes.Text)))
                          .WithReturnedIdFields(Field("Code", "DbEmployee", "employee"))
                          )
            .WithParameters(
                ElementFactory.CreateScalar("regionalDirectorateCode", regionalDirectorateCode)));
 }