Pergunta

Eu estou usando .NET RIA serviços julho de visualização para a comunicação entre o meu cliente Silverlight e meu servidor. No meu servidor Eu tenho um projeto ASP.NET que hospeda o aplicativo Silverlight. Na aplicação ASP.NET Eu tenho um DataModel Linq-to-SQL com uma tabela chamada Hour. Eu tenho estendido a entidade horas com 3 propriedades, criando Hour.shared.cs:

public partial class Hour
{
   public string CustomerName { get; set; }
   public string ProjectName { get; set; }
   public string FullProjectName { get { return this.CustomerName + " - " + this.ProjectName; } }
}

Na minha DomainService Eu tenho um método-get chamados getHours. Devido o projeto em Linq, não posso explícita criar uma nova instância da entidade horas e através da nova entidade definir os valores das minhas novas propriedades:

var query = from hours in this.Context.Hours
            select new Hour()
            {
               HourID = hours.HourID,
               ProjectName = "Hello World"
            };

Se eu selecionar horas ele funciona muito bem, mas eu preciso para definir o ProjectName e CustomerName de alguma forma.

Todas as idéias sobre como contornar isso?

Foi útil?

Solução

Tentando minha resposta novamente, última vez que congelou SO em mim.

Provavelmente a maneira mais fácil de fazer isso seria usar uma função:

public Hour PopulateHour(Hour hour)
{
  hour.CompanyName = "xyz";
  hour.ProjectName = "123";
  return hour;
}

Em seguida, você pode usar isso em sua consulta linq:

var query = from hour in this.Context.Hours
            select PopulateHour(hour);

Uma coisa que poderia tornar isso mais fácil seria se você já teve a CompanyId e projectId como propriedades na classe horas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top