У меня есть следующие объекты:Почему мои отношения не загружены?
public abstract class Meter
{
public int MeterId { get; set; }
public string EANNumber { get; set; }
public string MeterNumber { get; set; }
public abstract void AddReading(CounterReading reading);
}
public abstract class ElectricityMeter : Meter { }
public class SingleElectricityMeter : ElectricityMeter
{
private Counter _counter = new Counter();
public virtual Counter Counter
{
get { return _counter; }
set { _counter = value; }
}
public override void AddReading(CounterReading reading)
{
Counter.Readings.Add(reading);
}
}
public class Counter
{
public int CounterId { get; set; }
private ObservableCollection<CounterReading> _readings = new ObservableCollection<CounterReading>();
public virtual ObservableCollection<CounterReading> Readings
{
get { return _readings; }
set { _readings = value; }
}
[NotMapped]
public CounterReading CurrentReading
{
get
{
return Readings.MaxBy(m => m.Reading);
}
}
}
Когда я установил Counter
отношения во время выполнения, все работает отлично. Когда я пытаюсь загрузить сохраненные данные, мой объект Counter
не загружен (это по умолчанию Counter
, а не тот, у кого есть данные из моей базы данных).
Это все еще потому, что я использую наследование в моем Meter
? Моя база данных выглядит достаточно прилично с внешними ключами:
Редактировать Получение других вложенных объектов работает без проблем.
Вы пробовали это, не используя наследование в вашем ElectricityMeter? Кроме того, почему вы используете ObservableCollection вместо простой коллекции? – danludwig
@danludwig Я еще не пробовал это без наследования, но я надеюсь, что результат останется таким же, потому что использование наследования облегчает мою запись для этого приложения. Я использую ObservableCollection, потому что таким образом я могу позволить обновлению пользовательского интерфейса без написания кода самостоятельно. –
Можете ли вы показать нам код, который извлекает SingleElectricityMeter из базы данных? – Dabblernl