當我插入一個新的對象到數據庫我把它與另一個關係綁定,通過做另一個數據庫查找,我想刪除這個額外的步驟效率,IE我如何設置一個關係到另一個只使用ID,而不必從數據庫中獲取整個對象?例如:如何做高效插入?
Car C = new Car();
C.Person = db.person.find(PersonID); //unnecessary lookup
//I'd like to do: C.setPersonID(personID);
db.cars.add(C);
db.saveChanges();
其中型號:
class Car
{
public virtual Person Person { get; set; }
}
謝謝,我寧願不改變使用自定義上下文,我只是使用BaseDBContext。所以我喜歡爲ID屬性設置一個Accessor的想法。我想知道我是否可以創建一個方法setPersonID(myID){Person p = new Person; p.id = myId; this.Person = p; } – Baconbeastnz
不確定這是否可能,因爲沒有明確聲明外鍵,您將無法使用Id設置關係。 – cubski
您可以在用於設置Id的Car類上添加SetPersonId(int personId)方法。不確定,但如果這是你的意思。 – cubski