관련 엔터티에 개체를로드하지 않고 추가하고 싶습니다. I는 다음과 같이 정의 된 회사 법인이 : 나는 모든 직원을로드하지 않고 그 회사 객체에 배치 목록에 직원을 추가 할이Entity Framework에서로드하지 않고 관련 엔터티에 개체 추가
public class Employee
{
public int ID { get; set; }
public String Name{ get; set; }
}
같은
public class Company
{
public int ID { get; set; }
public List<Employee> EmployeeList{ 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 (employee);가 아니어야합니까? –
데이터베이스를 먼저 사용하거나 첫 번째 접근 방식을 사용하고 있습니까? – suulisin
그가 게시 한 예제 때문에 코드 우선이라고 생각합니다 – Rafa