1
基於此問題中提供的解決方案:How to update foreign key in EF 6 - Code First,我可以使用id字段更新我的外鍵。如何更新EF 6中的外鍵 - 代碼優先 - 一對多關係
但是現在,我從數據庫中獲取實體時發生異常。使用此代碼:
// Retrieve data first
using (var db = new TestDbContext())
{
var p2 = db.Persons.First();
}
我得到以下SqlException:「無效的列名'Country_Id1'。」
有沒有人有任何線索能夠檢索數據和來更新外鍵? 以另一種方式提問,是否可以使用導航屬性來簡化我的實體的使用以及外鍵的ID,以便能夠更新我的依賴實體?
我的實體
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public virtual Country Country { get; set; }
public int Country_Id { get; set; }
}
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
}
確實。有點奇怪,如果你沒有明確的FK屬性,按照慣例默認的(shadow)屬性名稱是'Country_Id',但是對於顯式的FK,它是'CountryId',正如你所提到的:) –
@IvanStoev感謝您糾正我。 –
要完成@IvanStoev奇怪的評論:當使用多對多關係時,默認的屬性名是Country_Id ... – nmariot