.net - 在 EntityObject 中的自定义属性上引发 PropertyChanged

标签 .net entity-framework-4 inotifypropertychanged

我在 EntityObject 上有几个自定义计算属性。我想触发 PropertyChanged 事件来通知所有绑定(bind)。但这不起作用,当我使用 ReportPropertyChanged 时,它会引发参数异常:

De eigenschap Name heeft geen geldige entiteitstoewijzing op het entiteitsobject. Zie de documentatie van Entity Framework voor meer informatie.

这意味着 Name 不是实体属性,我应该查看 Entity Framework 文档以获取更多信息。有没有办法调用该事件并使 Entity Framework 忽略它?

代码示例:

partial class Preset
{
    public string Name
    {
        get
        {
            if (this.SystemPreset)
                return Translate("preset_" + this.Name_Original + "_name");
            else
                return this.Name_Original;
        }
        set
        {
            if (!value != this.Name_Internal)
            {
                this.Name_Internal = value;
                ReportPropertyChanged(Name);
            }
        }
    }
}

属性名称是自定义属性。当我尝试通过 EntityObject 中的 ReportPropertyChanged 方法触发 PropertyChanged 时, Entity Framework 将引发异常。

最佳答案

您应该能够从自定义属性 setter 中调用 OnPropertyChanged("YourPropertyName") ( msdn ),WPF 就会拾取它。

这适用于我在 Visual Studio 2010、.NET 4.0 中与 SQLServer CE 数据库对话(我认为它是 Entity Framework 4,但我不确定)。

关于.net - 在 EntityObject 中的自定义属性上引发 PropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155220/

相关文章:

Mono 的 .Net 组件

c# - 使用 byte[] 键和逐出策略构建 C# 缓存

c# - .net MVC 使用数据库的简单成员身份验证

c# - Entity Framework CTP4 和复合键

WPF ListBox 未绑定(bind)到 INotifyCollectionChanged 或 INotifyPropertyChanged 事件

css - 使用 sass 而不是 css angular 4 .net core 2 spa 模板

c# - 如何将构造函数参数传递给 AppDomain.CreateInstanceXXX?

entity-framework - 如何在实体模型中隐藏数据库列?

c++ - inotify 运行系统时出现的问题

c# - ObservableCollection 没有注意到其中的 Item 发生变化(即使使用 INotifyPropertyChanged)