2015-04-12 61 views
0

我擁有遺產和合同表。遺產表具有布爾屬性(可用)。當客戶確認其合同時,莊園表中的可用財產將其價值更改爲虛假。 EstateID通過EstateID從組合框中選擇。問題是我不知道如何通過EstateCombobox中選擇的ID訪問可用屬性。實體框架C#通過編號更改表中的值

contract.ContractDate = Convert.ToDateTime(ContractDateTextBox.Text); 
      contract.OperationType = OperationTypeComboBox.SelectedItem.ToString(); 
      contract.Description = DescriptionTextBox.Text; 
      contract.EstateID = Convert.ToInt32(EstateComboBox.SelectedValue); 
      contract.ClientID = Convert.ToInt32(ClientComboBox.SelectedValue); 
      contract.EmployeeID = Convert.ToInt32(EmployeeComboBox.SelectedValue); 
      contract.NewOwnerID = Convert.ToInt32(NewClientOwnerComboBox.SelectedValue) 



EstateComboBox.DataSource = AgencyContext.Estate.ToList(); 
     EstateComboBox.DisplayMember = "EstateName"; 
     EstateComboBox.ValueMember = "EstateID"; 
     EstateComboBox.Invalidate(); 

回答

0

我希望我理解正確的話:

int eid = Convert.ToInt32(EstateComboBox.SelectedValue.ToString()); 
var myEstate = AgencyContext.Estate.Single(e => e.EstateID == eid); 

myEstate.Available = false; //new value 

dbcontext.SaveChanges(); 
+0

蹊蹺部分選擇(E => e.EstateID == EstateComboBox.SelectedValue)編譯器顯示警告:「不能申請運營商 '=='到操作數類型'int'和'object'「 – qr11

+0

@ qr11你可以嘗試更新的代碼嗎? – renakre

+0

這次編譯器標記'e'爲錯誤:參數名稱'e'不能在這個範圍內聲明,因爲它會得到與'e'不同的含義,'e'已經在父目錄或當前範圍內用於表示其他內容 – qr11