Nova instância em RIA Serviço de Domínio
-
05-07-2019 - |
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?
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.