Usuario
concatenar 3 campos con EF

Pregunta
-
Hola aqui nuevamente pues necesito concatenar 3 campos para utilizalo en mi combo
Public Function GetHorario() As IQueryable Dim oc As New BDAsistenciaEntities Try Dim result = From be In oc.Horario Select be.Id_Horario, be.Dia, be.HoraInico, be.HoraFin, HOR = (be.Dia + " " + be.HoraInico + " " + be.HoraFin) Return result Catch ex As Exception Throw End Try End Function
HOR = (be.Dia + " " + be.HoraInico + " " + be.HoraFin)
quiero lograr esa concatenación, no me marca error pero ya en el llama de mi datatexfield de mi combo , pues no resulta la consulta
Saludos y gracias por la respuesta
"SI LOGRAS CONCENTRARTE EL MUNDO DEJARA DE EXISTIR"
- Cambiado Leandro TuttiniMVP jueves, 2 de mayo de 2013 23:34
Todas las respuestas
-
Hola que sucede cuando lo quieres mostrar en el combo? aparece vacío?
Si se solucionó tu consulta no olvides marcar la respuesta. Saludos
- Editado José Barba jueves, 2 de mayo de 2013 23:30
-
hola
porque no creas una propiedad la cual marcas como no perssitente y de solo lectura para deolver este dato
no deberias devolver un IQueryable de respuesta, deberias retornar uan entidad que tu defines
Public Class Horarios
Public Property Id As Integer
Public Property Dia As Integer
Public Property HoraInicio As Integer
Public Property HoraFin As Integer
Public Property HOR As String
Get
Return Me.Dia + " " + Me.HoraInico + " " + Me.HoraFin
End Get
End Property
End Class
y la defines
Dim result = From be In oc.Horario _
Select New Horarios() With { .Id = be.Id_Horario, .Dia = be.Dia, ... }
o sea crea una clase que devolver
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
-
Hola leandro :
dices no deberias devolver un IQueryable de respuesta y me dices que cree una clase
"es asi como se define???" bueno si es asi me marco error en esta parte:
Public Property HOR As String
Get
Return Me.Dia + " " + Me.HoraInico + " " + Me.HoraFin
End Get
End Property
por otro lado lo que me comentas sobre el IQueryable tengo una duda
pues estoy utilizando EF en NCAPAS .net 4.0
en mi capa de datos yo utilizo la funcion que mostre arriba , hace mucho cuando mostré un código me hiciste la misma observación
pues concretamente la pregunta es ¿debo utilizar el IQueryable?
QUE FUNCION ES LA CORRECTA
Public Function GetEspecialidad() As IQueryable
Public Function GetEspecialidadE() As List(Of Especialidad)
Public Class EspecialidadDAO Public Function GetEspecialidad() As IQueryable Dim oc As New CitasMedicasEntities Try Dim result = From item In oc.Especialidad Select ID = item.IdEspecialidad, ESPECIALIDAD = item.DesEspecialidad, ESTADO = item.Estado Return result Catch ex As Exception Throw End Try End Function
Public Function GetEspecialidadE() As List(Of Especialidad) Dim oc As New CitasMedicasEntities Dim result As List(Of Especialidad) = (From item In oc.Especialidad Where item.Estado = True Select item).ToList() Return result End Function Public Sub Insert(ByVal BE As Especialidad) Try Using oc As New CitasMedicasEntities oc.Especialidad.AddObject(BE) oc.SaveChanges() End Using Catch ex As Exception End Try End Sub Public Sub Update(ByVal BE As Especialidad) Try Using oc As New CitasMedicasEntities oc.Especialidad.Attach(BE) oc.ObjectStateManager.ChangeObjectState(BE, EntityState.Modified) oc.SaveChanges() End Using Catch ex As Exception End Try End Sub End Class
"SI LOGRAS CONCENTRARTE EL MUNDO DEJARA DE EXISTIR"
-
"es asi como se define???" bueno si es asi me marco error en esta parte:
y cual es el error ?
pues concretamente la pregunta es ¿debo utilizar el IQueryable?
si estas modelando en capas no
ese objeto sigue siendo de base de datos, es mas si devuelves esto aun ni siquiera se ejecuto la query, cuando en una apcliacion en capas deberias desde la capa de datos devolver entidadfes desconectadas que no esten relacionadas a los datos
con tu logica se esta ejecutando la query recien en la capa de negocio
es ams puede validarlo si tiene un sql server full podrias usar el Sql Server Profiler para monitorear la actividad de la db y valida en que momento de tu codigo se lanza la consulta, vas a ver que lo hace desde la capa de negocio, cuando esto nucna deberia ser asi
tu metodo GetEspecialidad() debera devolver un objeto Especialidad
Public Function GetEspecialidad() As Especialidad
End Function
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina