Как добавить свойство «IsDirty» в сущность LINQ to SQL?
Я связываю свои сущности с формой редактирования в WPF. В DataTemplate я хочу иметь возможность установить цвет фона корневого контейнера в DataTemplate, чтобы показать, что он был изменен, и эти изменения еще не были отправлены в базу данных.
Вот очень простой пример, который демонстрирует то, о чем я говорю (извините за ошибки):
<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>
Пример просто распечатывает "Я грязный?" да & Quot; или "Я грязный?" нет, но вы поняли.
Для этого мне нужно добавить публичную собственность в мойItem (частичный класс, простой)that can determine if the entity is dirty or not, Это сложный момент.
public partial class Item
{
public bool IsDirty
{
get
{
throw new NotImplementedException("hurf durf");
}
}
}
Вне сущности это довольно просто (если у вас естьDataContext сущность прикреплена к). Внутри не так уж и много.
Какие у меня есть варианты?
Изменить: я не думаю, что есть одно хорошее решение здесь, поэтому предложения для обходных путей приветствуются.
(Хорошо, подобные вопросы существуют, но они все о том, как определить это изoutside самой сущности и использоватьDataContext сущность привязана к.)