none
relaciones RRS feed

  • Pregunta

  • Hola gente, estoy utilizando este códigopara obtener información sobre las relaciones de una entidad

            Dim manager = CType(entidad, IEntityWithRelationships).RelationshipManager
            Dim relatedEnds = manager.GetAllRelatedEnds

            For Each relend In relatedEnds
                Console.WriteLine("Relationship Name: {0}", relend.RelationshipName)
                Console.WriteLine("Source Role Name: {0}", relend.SourceRoleName)
                Console.WriteLine("Target Role Name: {0}", relend.TargetRoleName)
                Console.WriteLine("---------------------------------------------------")

    Me interesa saber en cada relación cual es la entidad principal y la externa o dependiente.

    Gracias y saludos

    martes, 21 de abril de 2015 0:41

Todas las respuestas

  • hola

    pero esta informacion de donde la obtienes? estas utilizando un edmx, explica un poco el contexto en que defines ese codigo

    cual seria el objetivo de conocer las relaciones?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 21 de abril de 2015 15:48
  • Si estoy utilizando edmx.

    El objetivo es conocer, mediante código, cuales son las relaciones de cierta entidad y en cada relacion saber que si la entidad relacionada es la principal o la dependiente. 

    Puntualmente quiero obtener esa info para realizar eliminaciones (sin configurar eliminación en cascada) o deshacer cambios, etc.

    Independientemente de la necesidad puntual, que es otro tema al planteado, no pude encontrar desde donde obtener si la entidad relacionada es principal o dependiente utilizando RelationshipManager.

    Quizas se pueda obtener dicha info de otra manera?

    Saludos

    martes, 21 de abril de 2015 16:37
  • el tema es que cuando defines la logica de negocio deberias conocer la entidad y sus dependencias, por lo tanto codificar las entidades relacionadas que debes eliminar o quitar la asociacion

    no es algo que debas descubrir y realizar en runtime, sino que la logica de negocio debe conocer, tu debes saberlo viendo el diagrama del edmx y codificar en consecuencia los delete necesario

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 21 de abril de 2015 17:00
  • Bueno, como escribí antes es otra discución. Yo pretendo hacer un metodo general y sobreescribirlo con herencia porque efectivamente se en tiempo de diseño cuales son las dependencias.

    Pero nuevamente, si bien es algo discutible y opinable ya tengo decidido hacerlo así para mi aplicación  y no quiero discutirlo porque lleva a hablar de otro tema.

    Vuelvo preguntar, alguien conoce si a travez de RelationshipManager puede conocerse para cada relación cual es la entidad principal  y cual la dependiente.

    Y en caso que no sea posible, conocen otra manera de obtener dicha info por medio de código.

    Saludos

    martes, 21 de abril de 2015 17:14
  • hola

    analiza

    How do I retrieve relationship keys from a deleted entity?

    creo que alli plantea algo como lo que buscas

    Nota: si se que esta en c# pero bueno igual creo que se entienden los metodos que utiliza

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 22 de abril de 2015 15:10
  • Gracias, lo estoy leyendo, luego lo pruebo
    miércoles, 22 de abril de 2015 19:47