如何将“IsDirty”属性添加到 LINQ to SQL 实体?

2023-12-11

我将我的实体绑定到 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>

该示例仅打印出“我脏吗?是”或“我脏吗?否”,但您明白了。

为此,我需要向我的Item(部分类,简单)可以确定实体是否脏。这是最难的一点。

public partial class Item
{
    public bool IsDirty
    {
        get
        {
            throw new NotImplementedException("hurf durf");
        }
    }
}

在实体之外,这非常简单(只要你有数据上下文该实体附加到)。里面,没那么多。

我在这里有什么选择?


编辑:我认为这里没有一个好的解决方案,因此欢迎提出解决方法的建议。

(好吧,存在类似的问题,但它们都是关于如何从outside实体本身并使用数据上下文该实体已附加到。)


如果您使用 dbml 生成的类,您应该能够实现几个部分方法,如下所示:

public partial class SampleEntity
{
    partial void OnCreated()
    {
        this.IsDirty = true;
    }

    partial void OnLoaded()
    {
        this.PropertyChanged += (s, e) => this.IsDirty = true;
        this.IsDirty = false;
    }

    public bool IsDirty { get; private set; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将“IsDirty”属性添加到 LINQ to SQL 实体? 的相关文章

随机推荐

  • 节点removeListener不起作用

    尝试使用以下代码删除侦听器 var EventEmitter require events EventEmitter var emitter new EventEmitter emitter on message function text
  • iOS PencilKit 无法绘图

    我正在尝试使用 PencilKit 但无法在应用程序中绘制任何内容 我设置我的代码如下 import UIKit import PencilKit class DrawingViewController UIViewController v
  • 使用 Terraform 的 helm_release,如何设置数组或列表值?

    例如 根据Drupal 的 helm 图表文档 默认值accessModes is ReadWriteOnce 其在 YAML 中转换为以下内容 accessModes ReadWriteOnce 使用 Terraform 时舵释放资源 以
  • .NET Web浏览器控制和Dispose()

    我知道这是一个热门话题 有很多问题和答案 但我仍然没有找到以下问题的解决方案 我有一个多选项卡应用程序 每个选项卡上都有一个 Webbrowser 控件 由于网络浏览器为每个新选项卡占用更多内存 并且它们不会在选项卡关闭时释放此内存 因此我
  • fullcalendar - 如何使用 ajax 加载日历上的所有事件

    我想在页面加载时使用 Ajax 加载完整日历中的所有事件 我收到来自 Ajax 的响应 但该事件未添加到完整日历中 这是我的 jquery 代码 calendar fullCalendar theme true header left pr
  • 如何在 MATLAB 中填充两条直线和一条不直的曲线之间的区域(该区域不是多边形)

    使用 matlab 的 FILL 函数创建一个由直边多边形限定的填充区域 不幸的是 这在上图中留下了一个小的白色区域 因为我想要填充的区域的边界不是直边多边形 而是在左侧有一个弯曲的边界 我有一条曲线 几乎是抛物线 但不完全是 我想填充两条
  • 使用 MATLAB 分离图像中两个重叠的圆

    如何使用 MATLAB 将下图中两个相连的圆分开 我尝试过使用imerode 但这并没有给出好的结果 腐蚀不起作用 因为为了腐蚀得足以将圆圈分开 线条会消失或被破坏 在其他起始图片中 圆和线重叠 因此隔离重叠的对象也不起作用 该图像显示了通
  • SBT 在 Build.scala 中指定 java 堆大小

    我的 Build scala 文件内容 val commonSettings Seq version 1 0 0 organization com collective scalaVersion 2 11 4 scalacOptions L
  • ActionBarSherlock 和 ActionBar 兼容性之间的差异

    有什么区别动作栏夏洛克 and 操作栏兼容性 几天前 谷歌刚刚发布了 ActionBar 兼容性 这让我很困惑 Action Bar Compatibility 的工作原理与 ActionBarSherlock 相同并且编码相同吗 示例 是
  • Spring MVC 错误“NoSuchMethodError”

    我收到以下错误 请给我一些建议 我在用spring sts SEVERE StandardWrapper Throwable java lang NoSuchMethodError org springframework web conte
  • 解构中的 ES6 计算属性 - 解构整个对象

    我有这个变量 var a b 1 c 2 d rawr rawr 10 我想将它们解构到本地范围内 所以我这样做 var b c d a 这工作正常 但我需要得到rawr出去 我试过这个 var b c d a d a 但这给了我missi
  • Excel VBA:如何使用给定代码循环浏览同一文件夹中的工作簿?

    上一篇文章 我需要创建一个宏 循环遍历单个文件夹中的文件并运行我在下面提供的代码 所有文件的结构都相同 但是数据不同 该代码帮助我转到指定的目标文件并计算列中 YES 的数量 然后它将其输出到 CountResults xlsm 主工作簿
  • 相对于另一个向量对一个向量进行排序 - 最有效的方法?

    我知道这个问题已经 被问到 a few times 但对于简单的情况 其中紧凑性 可读性或用户熟练程度是决定因素 提供了不同的答案 我不确定哪一个是最有效率的 因为我担心重复该操作O 1M 次 设置如下 两个向量A and B of flo
  • 当多个活动处于活动状态时如何关闭应用程序

    我开了3个活动 现在用户想要退出应用程序 为此我必须完成所有活动 不建议这样做 但我的应用程序希望向用户提供这样的退出点 当多个活动处于活动状态时如何关闭应用程序 Thanks Android 中任何应用程序的所有活动都使用相同的进程 ID
  • 在 Angularfire 中什么时候使用 $asArray 和 $asObject ?

    看来有很多情况可以选择是否使用 asArray or asObject 在同样的情况下 你可以使用其中任何一个来逃脱 我是一位代码 js 初学者 但是什么时候应该使用 asArray 和 asObject 最新版本的角火1 0 0使用新的
  • 如何使用 Bison 实现“隐式乘法”规则?

    我正在为数学表达式解析器编写 Bison 文件 到目前为止 一切都很好 但我面临着隐式乘法的问题 你看 我想支持这样的表达2x sin 4x cos 4x 它应该像这样解析2 x sin 4 x cos 4 x 这里没什么太糟糕的 但请考虑
  • 数组什么时候在c中充当指针?

    我知道数组名称可以用作指针 尽管它是转换后的形式 但我的问题是 是否还有其他实例将数组用作指针 从技术上讲 数组名永远不会充当指针 一个 具有数组类型 可以是数组名称 的表达式将转换 每当数组类型不合法但指针类型合法时 都指向指针 并且数组
  • 将 FrameLayout 转换为位图

    我有一个 FrameLayout 其中包含一些图像视图和一个 EditText 我将此布局保存为内存中的图像 外部 第一次 当我在 imageviews 中设置图像时 一切都很顺利 即正在保存确切的图像 与屏幕上显示的相同 但是第一次保存后
  • Matplotlib 滚动条

    我有一个线泛化算法 并且想在图中添加一个滚动条 以增加容差 即使线变得越来越泛化 使用 matplotlib 这怎么可能 总而言之 我希望能够单击并拖动滑块 以显示线上公差效果的增加 仍然在努力解决这个问题 我只想要一个从 1 到 10 的
  • 如何将“IsDirty”属性添加到 LINQ to SQL 实体?

    我将我的实体绑定到 WPF 中的编辑表单 在 DataTemplate 中 我希望能够设置 DataTemplate 中根容器的背景颜色 以显示它已更改并且这些更改尚未提交到数据库 这是一个非常简单的示例 演示了我正在谈论的内容 请原谅错误