¿Alguien sabe cómo obtener la información de esquema de un Entity Framework generado por edmx?Lea metadatos de claves externas de forma programática con Entity Framework 4
Específicamente quiero administrar atravesar la clave externa para una entidad que actualmente no tengo una instancia de y obtener sus relaciones de clave externa, y quiero hacerlo a través de la reflexión de una manera que será genéricamente aplicado a cualquier clase de entidad sin código personalizado cada vez.
EG: Mi esquema tiene 2 clases, Usuario y Grupo. Tengo el número "42" que sé que proviene de la propiedad "GroupId" de una entidad "Usuario", pero por el momento no puedo encontrar la manera de detectar que esta propiedad "GroupId" de las claves externas "Usuario" la entidad "Group" por su propiedad "GroupId".
no pude conseguir que esto funcione. No pude encontrar una propiedad de RelationshipManager en el contexto (aunque puedo obtenerla mediante CType (tableObject, IEntityWithRelationships) .RelationshipManager), y luego de hacer eso no pude encontrar los resultados de GetRelatedEnds que podrían enviarse a AssociationSet. Un ejemplo de código sería muy apreciado. – pbarranis
Oye, me disculpo por la respuesta tardía. No había leído esto en mucho tiempo. Debería haber sido más claro que estaba trabajando desde un ObjectStateEntry en lugar de directamente desde el Contexto. La sintaxis exacta que utilicé desde allí fue "foreach (AssociationSet assoc in ose.RelationshipManager.GetAllRelatedEnds(). Select (end => end.RelationshipSet) .Where (rs => rs es AssociationSet && ((AssociationSet) rs) .ElementType. IsForeignKey) .Cast()) ", luego tuve una lógica adicional para averiguar de qué lado estaba porque yo solo quería multiplicidades específicas de claves externas. –
fyjham