¿Cómo puedo agregar una propiedad "IsDirty" a una entidad LINQ to SQL?
Estoy vinculando a mis entidades a un formulario de edición en WPF. Dentro de un DataTemplate, quiero poder configurar el color de fondo del contenedor raíz dentro de un DataTemplate para mostrar que se ha cambiado y estos cambios aún no se han enviado a la base de datos.
Aquí hay una muestra muy simple que demuestra de lo que estoy hablando (perdonar errores):
<Page ...>
<Page.DataContext>
<vm:MyPageViewModel /> <!-- Holds reference to the DataContext -->
</Page.DataContext>
<ItemsControl
ItemsSource = {Binding Items}>
<ItemsControl.Resources>
<DataTemplate
DataType="Lol.Models.Item"> <!-- Item is L2S entity -->
<!-- In real life, I use styles to set the background color -->
<TextBlock Text="{Binding IsDirty, StringFormat='Am I dirty? /{0/}'}"/>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</Page>
El ejemplo simplemente imprime "¿Estoy sucio? Sí" o "¿Estoy sucio? No", pero entiendes la idea.
Para hacer esto, necesitaré agregar una propiedad pública a miít (clase parcial, simple)Eso puede determinar si la entidad está sucia o no.. Esta es la parte difícil.
public partial class Item
{
public bool IsDirty
{
get
{
throw new NotImplementedException("hurf durf");
}
}
}
Fuera de la entidad, es bastante simple (siempre que tenga laDataContext la entidad está adscrita a). Por dentro, no tanto.
¿Cuáles son mis opciones aquí?
Edición: no creo que haya una buena solución aquí, por lo que las sugerencias para las soluciones son bienvenidas.
(De acuerdo, existen preguntas similares, pero todas tratan sobre cómo determinar esto a partir defuera de de la propia entidad y utilizar elDataContext la entidad esta anexada a)