Datacontex, nombre de la tabla

16/12/2008 - 13:04 por Paul | Informe spam
Hola,

Tengo un datacontext, por ejemplo con dos tablas, tabla1 y tabla2.

Como puedo saber pr codigo en lnombre de la tabla?
En dataset era por ejemplo ds.Tabla1.TableName, pues un equivalente de
esto en datacontext.

Gracias

Preguntas similare

Leer las respuestas

#1 SoftJaén
16/12/2008 - 18:03 | Informe spam
"Paul" preguntó:

Tengo un datacontext, por ejemplo con dos tablas, tabla1 y tabla2.

Como puedo saber pr codigo en lnombre de la tabla?



Recorre la colección de objetos «MetaTable» devuelta por la función
«GetTables» de la propiedad «Mapping» del objeto DataContext. Con código de
Visual Basic se haría de la siguiente manera:

Imports System.Data.Linq
Imports System.Data.Linq.Mapping

Dim dc As New DataClasses1DataContext

For Each mt As MetaTable In dc.Mapping.GetTables
MessageBox.Show(mt.TableName)
Next

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 SoftJaén
16/12/2008 - 18:13 | Informe spam
Se me ha olvidado comentarte que la propiedad «TableName» te devuelve el
nombre de la tabla tal cual se encuentra definida en la base de datos de SQL
Server, en definitiva, el valor de la propiedad «Name» que tenga establecido
el atributo «Table» de la clase:


<Table(Name:="dbo.Tabla1")> _
Partial Public Class Tabla1

End Class

<Table(Name:="dbo.Tabla2")> _
Partial Public Class Tabla2

End Class


Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#3 SoftJaén
16/12/2008 - 19:00 | Informe spam
También puedes utilizar la función «GetTable» de un objeto MetaModel para
obtener el nombre de la tabla que representa una clase en tu proyecto.

Por ejemplo, si en tu proyecto tienes definida una clase «Cliente» que
representa la tabla Clientes de tu base de datos, obtendrías el nombre de la
tabla de la siguiente manera:

Dim dc As New DataClasses1DataContext

Dim mt As MetaTable = dc.Mapping.GetTable(GetType(Cliente))

MessageBox.Show(mt.TableName)

A la función «GetTable» le tienes que especificar el System.Type de una
clase existente en tu proyecto, en el ejemplo, la clase «Cliente» que se
encuentra definida de la siguiente manera:

<Table(Name:="dbo.Clientes")> _
Partial Public Class Cliente

End Class

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#4 Paul
17/12/2008 - 09:03 | Informe spam
On 16 dic, 19:00, "SoftJaén" wrote:
También puedes utilizar la función «GetTable» de un objeto MetaModel para
obtener el nombre de la tabla que representa una clase en tu proyecto.

Por ejemplo, si en tu proyecto tienes definida una clase «Cliente» que
representa la tabla Clientes de tu base de datos, obtendrías el nombre de la
tabla de la siguiente manera:

    Dim dc As New DataClasses1DataContext

    Dim mt As MetaTable = dc.Mapping.GetTable(GetType(Cliente))

    MessageBox.Show(mt.TableName)

A la función «GetTable» le tienes que especificar el System.Type de una
clase existente en tu proyecto, en el ejemplo, la clase «Cliente» que se
encuentra definida de la siguiente manera:

<Table(Name:="dbo.Clientes")> _
Partial Public Class Cliente

End Class

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.



Muchas gracias.
Respuesta Responder a este mensaje
#5 Paul
17/12/2008 - 09:30 | Informe spam
On 16 dic, 19:00, "SoftJaén" wrote:
También puedes utilizar la función «GetTable» de un objeto MetaModel para
obtener el nombre de la tabla que representa una clase en tu proyecto.

Por ejemplo, si en tu proyecto tienes definida una clase «Cliente» que
representa la tabla Clientes de tu base de datos, obtendrías el nombre de la
tabla de la siguiente manera:

    Dim dc As New DataClasses1DataContext

    Dim mt As MetaTable = dc.Mapping.GetTable(GetType(Cliente))

    MessageBox.Show(mt.TableName)

A la función «GetTable» le tienes que especificar el System.Type de una
clase existente en tu proyecto, en el ejemplo, la clase «Cliente» que se
encuentra definida de la siguiente manera:

<Table(Name:="dbo.Clientes")> _
Partial Public Class Cliente

End Class

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.



Hola,
Muchas gracias por tu ayuda,

Yo tengo

<Table(Name:="dbo.Cliente")> _
Partial Public Class Clientes

End Class


Quiero conseguir el nombre "Clientes" es decir el nombre que el le da
a la clase

Gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida