Возможно ли заполнить пользовательское свойство Entity Framework из веб-службы?

#entity-framework

#entity-framework

Вопрос:

У меня есть модель Entity Framework, сгенерированная на основе базы данных. Мой пользовательский объект имеет следующие свойства: Access, customId, Name. Все они заполняются из базы данных. Однако источник данных для поля Name меняется на веб-службу. Мне нужно будет удалить сгенерированное свойство Name, заменить его пользовательским свойством name и заполнить его из прокси-объекта, который я использую для доступа к веб-службе. Однако, чтобы получить доступ к этому прокси-объекту, мне нужен ControllerContext, в который загружен прокси-объект.

Я перебрал несколько вариантов, но, похоже, ни один из них не работает. Есть идеи?

TIA!

 public partial class User
{

    public string Name
    {
        get { return WSCache.GetEmployeeName(this.CustomID); } //WSCache is not loaded!
    }
  

Ответ №1:

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

 public partial class User
{
    private string _name;
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
}

    public static User GetUser(EmployeeCache empCache, ITestRepository repo, string customId)
    {
        User user = repo.Single<User>(u => u.CustomId== customId);

        user.Name = empCache.GetEmployeeName(customId);

        return user;
    }