Сохранить изменения не сохранить - PullRequest
0 голосов
/ 04 июля 2018

имеют следующий код -

var employees = context.Employees.Where(e => e.Department.Name == "Engineering" || e.Department.Name == "Tool Design" || e.Department.Name == "Marketing" || e.Department.Name == "Information Services")
                .OrderBy(e => e.FirstName)
                .ThenBy(e => e.LastName)
                .Select(e => new
                {
                    employeeFullInfo = $"{e.FirstName} {e.LastName} (${e.Salary * 12 / 100 + e.Salary:F2})"
                   //firstName = e.FirstName,
                   //lastName = e.LastName,
                   //Salary = e.Salary * 12 / 100 + e.Salary
                }).ToList();

 context.SaveChanges();

Когда я вызываю метод saveChanges, в базе данных ничего не происходит, почему? Я хочу повысить зарплату на 12 процентов на каждого работника, но в базе данных ничего не произошло

1 Ответ

0 голосов
/ 04 июля 2018

ОК, ваша проблема в том, что вы на самом деле не меняете свои сущности. Трудно понять, что вы хотите сделать, однако это может дать вам толчок вперед.

Select здесь не так. Вместо этого просто отфильтруйте своих сотрудников:

var employees = context.Employees.Where(e => 
                      e.Department.Name == "Engineering" || 
                      e.Department.Name == "Tool Design" || 
                      e.Department.Name == "Marketing" || 
                      e.Department.Name == "Information Services");

// you need to modify each employee
foreach(var employee in employees)
{   
     // not sure this is correct, add pepper and salt to taste 
     employee.Salary = employee.Salary * 12 / 100 + e.Salary;
}

// then you can save
context.SaveChanges();

// List of infos
var listofInfo =  employees.OrderBy(e => e.FirstName)
                    .ThenBy(e => e.LastName)
                    .Select(e => $"{e.FirstName} {e.LastName} (${e.Salary:F2})")
                    .ToList();

foreach(var item in listofInfo)
   Console.WriteLine(item);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...