Quiero hacer algo que pensé que sería muy simple. Quiero vincular EntityCollection de Entity Framework generado a WPF DataGrid. También quiero que esta grilla sea ordenable.Entity Framework 4.0 Databinding with sorting not working
He intentado todo tipo de cosas para que esto ocurra, incluido el uso de un CollectionViewSource. Sin embargo, nada parece funcionar. Usar un CollectionViewSource normal alrededor de EntityCollection me da:
'System.Windows.Data.BindingListCollectionView' view does not support sorting.
Ok ... extraño. Pensé que esto funcionaría. A continuación, en CollectionViewSource, intento configurar:
CollectionViewType="ListCollectionView"
Genial, la clasificación ahora funciona. Pero espere, no puedo agregar o eliminar entidades usando la grilla ahora, presumiblemente porque ListCollectionView no admite esto con un contexto de entidad de marco.
Entonces, supongo que necesito capturar los eventos que salen de la cuadrícula de datos para agregar o eliminar entidades de forma manual de mi contexto. ¡Ahora no puedo encontrar un evento para capturar para detectar un agregado ...!
¿Por qué es esto tan difícil? Este debería ser el caso estándar de "demostración" que Microsoft debería haber diseñado.
¿Alguna idea?
Sí, el ListCollectionView funciona de hecho. Estaba confundido porque agregar esto a través de enlace de datos no agregaba a lo que pensaba que eran las colecciones "raíz" a las que estaba vinculando (myContext.Employees, por ejemplo). Me equivoqué al pensar que se trataba de colecciones mutables cuando en realidad no lo eran, y la única manera de llegar a mis "nuevas" entidades era a través del ObjectStateManager. –
Esto parece funcionar muy bien. Es triste que las cosas predeterminadas de EF RAD no se ocupen de esto de la caja. Dicho esto, recuerde que si está utilizando ListCollectionView CollectionViewType con EF4, tendrá que establecer AutoGenerateColumns en False para evitar obtener las columnas EntityState y EntityKey. – Spooles