나는 다음과 같은 요소를 가지고 : 나는 런타임에서 Counter
관계를 설정왜 내 관계가로드되지 않습니까?
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
입니다.
내 Meter
에서 상속을 사용하고 있기 때문에 여전히이 상태입니까? 내 데이터베이스는 외래 키와 충분히 괜찮은 보인다 : 다른 중첩 된 개체를 가져
편집 가 문제없이 작동합니다.
전기 계량기에서 상속을 사용하지 않고 사용해 보셨습니까? 또한 일반 컬렉션 대신 ObservableCollection을 사용하는 이유는 무엇입니까? – danludwig
@danludwig 상속을 사용하지 않고 아직 시도하지 않았지만 상속을 사용하면 내 인생을이 애플리케이션을보다 쉽게 작성하므로 결과가 동일하게 유지되기를 바랍니다. ObservableCollection을 사용하기 때문에 UI를 업데이트하지 않고 코드를 직접 작성할 수 있습니다. –
데이터베이스에서 SingleElectricityMeter를 검색하는 코드를 표시 할 수 있습니까? – Dabblernl