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