Я хотел бы добавить объект к связанному объекту без их загрузки. У меня есть сущность компании, определенную как это:Entity Framework добавить объект к связанному объекту без загрузки
public class Company
{
public int ID { get; set; }
public List<Employee> EmployeeList{ get; set; }
}
И сущность Employee как этот
public class Employee
{
public int ID { get; set; }
public String Name{ get; set; }
}
Я хочу, чтобы добавить сотрудник в список помещенного в этом объекте компании без загрузки всех сотрудников.
Я знаю, что могу использовать это выражение Company myCompany= systemBD.Companies.Include("EmployeeList").Find(1) myCompany.EmployeeList.Add(newEmployee)
, но я боюсь, что это потребует много времени с тех пор, как у меня есть тысячи сотрудников в моей базе данных.
Есть ли способ добавить нового сотрудника в существующую компанию без загрузки списка сотрудников? Я искал метод Attach, но, похоже, он не работает.
using (var systemDB = new CompanyDB())
{
Employee employee = new Employee();
Company companySearch = systemDB.Companies.Where(d => d.Name.Equals("John")).SingleOrDefault();
if (companySearch != null)
{
if (companySearch.EmployeeList != null)
{
systemDB.Companies.Attach(companySearch);
companySearch.EmployeeList.Add(employee);
systemDB.SaveChanges();
}
}
Я пробовал этот код, но он не работает.
Что такое переменная 'deviceSearch', поскольку она не определена в любом месте кода, который вы предоставили. Не должно быть 'companySearch.EmployeeList.Add (сотрудник);'? –
, пожалуйста, используйте первый или первый подход к базе данных базы данных? – suulisin
Я предполагаю, что это код-первый из-за примера, который он опубликовал – Rafa