我假設你在使用實體框架給你的代碼提供。你必須讓你的兩個實體之間的關係,並讓EF您處理該問題:當您創建的實體
public class Employee {
public int EmployeeId { get; set; }
public virtual Address Address { get; set; }
}
public class Address {
public int AddressId { get; set; }
public int EmployeeId { get; set; }
public virtual Employee Employee { get; set; }
}
現在:
// create a new Employee
Employee employee = new Employee();
// create a new Address
Address address = new Address();
// associate the address with the new employee
employee.Address = address;
// add the employee to the data context
db.employee.AddObject(employee);
// when you call save changes, since your Address is attached to your
// employee, it will get added for you and you don't have to add it to the
// context yourself. Entity Framework will save the Employee, get the ID
// from this table and then add a new Address record using the ID that was
// just inserted.
db.SaveChanges();
這將增加兩個對象,並添加外鍵您。
編輯
這是一個代碼第一個例子。如果您首先使用設計器使用數據庫,則只需使用設計器設置關係即可。在這種情況下,添加員工的代碼不應改變。
你在做代碼首先研究與開發?還是你依靠EDMX文件?如果你能提供一些關於你的EF方法的細節,這將有所幫助。 –
你測試過了嗎?如果您使用的是EF,則應該只能將empmodel添加到db.employee,然後SaveChanges()。 EF將爲您處理創建地址記錄。 – Maess
@Maess只有在EF中設置關係的時候:) – Dismissile