我正在努力理解实体框架,但我很难理解如何编写接口代码(或者,也许编写接口代码是否可行)。我对C#相当有信心,但这主要是由于我能够在许多其他语言中编程,所以请原谅任何无知。
假设:
public interface IInputSource
{
float GetCurrentValue(DateTime timestamp);
}
public class PatternSource : IInputSource
{
…
float GetCurrentValue(DateTime timestamp)
{
// generate value based on probability equation
}
…
}
public class TimeSeriesSource : IInputSource
{
…
float GetCurrentValue(DateTime timestamp)
{
// look up value in a key/value store
}
…
}
我希望编写一个节点类来实现接口,因为有5或6个明显不同的源类型:
public class Node
{
…
public IInputSource Inflow { get; set;}
…
}
似乎实体框架中的 O/M 永远无法解析 Node 引用的具体类,因此您将无法编写接口。这是真的吗?
如果不是这样,请问有人可以给我一个在 EF 4 中如何实现的例子吗?我正在使用 VS2010 和 .NET 4,并且我来自于代码优先的思维方式。