2016-03-23 44 views
0

我有以下接口繼承:實體從通用接口,在實體框架

public interface IInitializable 
{ 
    void Initialize(); 
} 

public interface IPersistXmlElementTo 
{ 
    XmlElement ToXmlElement (XmlDocument document); 
} 

public interface IPersistXmlElement<T>: 
    IPersistXmlElementTo, 
    IInitializable 
{ 
    T FromXmlElement (XmlElement element); 
} 

public interface IPersistXmlDocumentTo: 
    IPersistXmlElementTo 
{ 
    XmlDocument ToXmlDocument(); 
} 

public interface IPersistXmlDocument<T>: 
    IPersistXmlDocumentTo, 
    IPersistXmlElement<T>, 
    IInitializable 
{ 
    T FromXmlDocument (XmlDocument document); 
} 

public interface ICloneable<T> 
    where T: ICloneable<T> 
{ 
    T Clone(); 
} 

public interface ICopyable<T>: 
    IInitializable, 
    ICloneable<T> 
    where T: ICopyable<T> 
{ 
    T CopyFrom (T source); 
    T CopyTo (T destination); 
} 

public interface IEntity 
{ 
    long Id { get; set; } 
    byte [] TimeStamp { get; set; } 
    DateTime DateTimeCreated { get; set; } 
    DateTime DateTimeModified { get; set; } 
} 

所有實體類從IEntity繼承的時刻。我現在喜歡IEntity從上面的接口繼承。這意味着將IEntity轉換爲通用接口。像這樣的:

public interface IEntity<T>: 
    IPersistXmlDocument<T>, 
    IPersistXmlElement<T>, 
    ICloneable<T>, 
    ICopyable<T>, 
    IInitializable 
    where T: IEntity<T> 

我一直有EF的問題,雖然從類繼承,但界面似乎工作確定迄今。有沒有什麼值得注意的地方? EF需要從Entity: IEntity切換到Entity: IEntity<Entity>的任何特殊配置?

回答

0

事實證明,通用接口對EF無任何影響。