Идентификатор внешнего ключа, установленный как 0

У меня есть настройка DB-First Entity Framework с клиентом с нулевым внешним ключом в адрес таблицы. Модель клиента определяется следующим образом:

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; }
}

Когда я загружаю клиента из db с соответствующим адресом:

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

Я получаю Customer с соответствующим Address задано и заполнено правильным полем, но customer.AddressId и customer.Address.Id установлены на 0, а в db запись выглядит примерно так:

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

Почему это так? Я ничего не мог найти об этом в сети, только предупреждение о том, что Eager Loading не работает с Include s, но в клиенте есть другие (не имеющие значения) поля, включенные так же, как и загруженные с правильным идентификатором. [ ! d3]

Спасибо за ваше время.

0
задан 13 August 2018 в 14:27

0 ответов

Другие вопросы по тегам:

Похожие вопросы: