Если вам действительно не нужно переопределять некоторые данные или функции по умолчанию, лучше всего вместо этого просто расширить класс.Поскольку классы EF объявлены как partial
, вы можете создать другой файл кода и добавить в него свои собственные методы или свойства.Затем вы получаете всю стойкость объекта, а также свой пользовательский код.
public partial class MyEntity
{
//Extend the base object
public string FormattedName
{
get
{
return String.Format("Lookie this! {0}/{1}", this.SomeString, this.SomeInt);
}
}
}
Edit - В ответ на ваше разъяснение, ваш лучший выбор, если вам нужно изменить класс EFв другой сборке, к сожалению, создать класс-оболочку, который принимает класс Entity в качестве члена.Затем вы должны написать все новые функциональные возможности для доступа к публичным частям в штучной упаковке.Это не даст вам настойчивости в отношении новых свойств, но вы все равно этого не получите.