外键ID设置为0

时间:2018-08-13 11:27:08

标签: entity-framework foreign-keys

我有一个带有客户的DB-First Entity Framework设置,该客户具有指向表Address的可空外键。 客户模型的定义方式如下:

public class Customer
{
    [DataMember]
    public int Id { get; set; }

    [DataMember]
    public int? AddressId { get; set; } // same name as foreign key field on db

    [DataMember]
    public Address Address { get; set; }
}

当我从数据库加载具有相关地址的客户时:

Customer getCustomerById(int id) {
    return _db.Customers.Include("Address").SingleOrDefault(c => c.Id == id);
}

我得到了Customer并设置了相关的Address并用正确的字段填充,但是当customer.AddressIdcustomer.Address.Id设置为0时, db记录类似于:

Id  | AddressId
----------------
12  |      3288

为什么会这样?我在网上找不到关于此的任何信息,只有关于急切加载不能与Include一起使用的警告,但是在客户中,其他(不可为空)字段包含的加载方式与正确ID相同

谢谢您的时间。

0 个答案:

没有答案