Добавление пользовательского свойства в Entity Framework?
=========================================================

 Я впервые использую Entity Framework и хочу знать, возможно ли следующее: я сгенерировал свои классы из БД, и у меня есть класс с именем Category. 

 Очевидно, в нем есть все мои поля в таблице (ID, CategoryName, SortOrder и т. Д.), Но я хочу знать, могу ли я добавить пользовательское свойство, которого нет в таблице, но на самом деле является результатом пользовательского метода. 

 Я хочу добавить новое свойство с именем «CategoryURL», которое в основном является свойством «CategoryName», запускается через пользовательский метод и возвращает строку с переносом. 

 Моя первоначальная мысль - наследование от сгенерированного класса Category и создание чего-то подобного внутри? 

```
public string CategoryURL 
{
    get{ return MyCustomMethod(this.CategoryName) }
}

```
  Это правильный подход? И будет ли this.CategoryName работать так, как я думаю? По сути, конечный результат - когда я возвращаю список 'Category', я хочу, чтобы это было частью класса, чтобы я мог использовать его в цикле foreach. 

 Надеюсь, это имеет смысл? 

 Вы должны использовать [`partial`](http://en.wikipedia.org/wiki/Partial_class) класс: 

```
public partial class Category
{
    public string CategoryURL  
    { 
        get{ return MyCustomMethod(this.CategoryName); } 
    } 
}

```
  Таким образом `this.CategoryName` будет работать так же, как и ожидалось. 

 Это работает, потому что классы, генерируемые генератором кода структуры сущностей, также генерируют `partial` классы. Это также означает, что вы можете безопасно заново сгенерировать классы из базы данных, не затрагивая части классов, которые вы определили сами.