【问题标题】:Extending EF Poco Class扩展 EF Poco 类
【发布时间】:2011-11-20 14:08:17
【问题描述】:

我正在学习 EF 4 工作人员,并且真的很累。我正在使用 Code First 方法,例如。

public class Machine{
 public int A{get;set;}
 ...
}

我正在尝试在基于 A 属性(例如 B = A+5)的附加属性中实现业务逻辑,并将其呈现在 WPF 数据网格中。这个新属性根本不需要存储在数据库中。我该怎么做(例如使用 partial class )?有什么例子吗?

【问题讨论】:

    标签: c#-4.0 entity-framework-4 poco


    【解决方案1】:
    public class Machine
    {
        public int A { get; set; }
    
        [NotMapped]
        public int B
        {
            get
            {
                return A + 5;
            }
        }
    }
    

    这应该可行。

    【讨论】:

    • 太好了,但我怎么能实现一个 INotifyPropertyChanged ,它将在 public int A { get { return a; } 设置 { a = 值; this.NotifyPropertyChanged("A"); this.NotifyPropertyChanged("C"); } }
    • 是的,你必须在 A 的设置器中设置 OnPropertyChanged("B") 否则 UI 不会重新计算 B。我希望这就是你的意思。
    【解决方案2】:

    如果您使用的是 EF 4.1,则只需使用 not mapped attribute。如果您使用的是 edmx 设计器,我相信您可以在模型查看器表映射中删除它分配给的列名

    【讨论】:

    • 我在将标量属性映射到数据库后添加它。然后我得到一个错误:对匹配指定绑定约束的类型“WpfApplication4.MainWindow”的构造函数的调用引发了异常。行号“3”和行位置“9”
    • 你的实体类实现了 inotify 吗?
    猜你喜欢
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 2012-11-12
    相关资源
    最近更新 更多