Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 扩展EF-Poco类_C# 4.0_Entity Framework 4_Poco - Fatal编程技术网

C# 4.0 扩展EF-Poco类

C# 4.0 扩展EF-Poco类,c#-4.0,entity-framework-4,poco,C# 4.0,Entity Framework 4,Poco,我正在学习EF4的工作人员,真的很累。我使用代码优先的方法 public class Machine{ public int A{get;set;} ... } 我试图在基于A属性(例如B=A+5)的附加属性中实现业务逻辑,并将其呈现在WPF datagrid中。这个新属性根本不需要存储在数据库中。我将如何做到这一点(例如,使用部分课程)?有什么例子吗 public class Machine { public int A { get; set; } [NotMapped

我正在学习EF4的工作人员,真的很累。我使用代码优先的方法

public class Machine{
 public int A{get;set;}
 ...
}
我试图在基于A属性(例如B=A+5)的附加属性中实现业务逻辑,并将其呈现在WPF datagrid中。这个新属性根本不需要存储在数据库中。我将如何做到这一点(例如,使用部分课程)?有什么例子吗

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

    [NotMapped]
    public int B
    {
        get
        {
            return A + 5;
        }
    }
}
这应该行得通


这应该行得通。

如果您使用的是EF 4.1,您可以使用。如果您使用的是edmx designer,我相信您可以删除它在模型查看器表映射中指定给的列名

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

这很好,但是我如何实现INotifyPropertyChanged,它将在公共int{get{return A;}集中激发{a=value;this.NotifyPropertyChanged(“a”);this.NotifyPropertyChanged(“C”);}是的,您必须在PropertyChanged(“B”)上进行抵销在A的setter中,因为否则UI将不会重新计算B。我希望这就是你的意思。这很好,但是我如何实现INotifyPropertyChanged,它将在int A{get{return A;}set{A=value;this.NotifyPropertyChanged(“A”)中公开激发;this.NotifyPropertyChanged(“C”);}}}是的,您必须从PropertyChanged(“B”)开始在A的setter中,因为否则UI将不会重新计算B。我希望这就是您的意思。我在将标量属性映射到数据库后添加了一个标量属性。然后我得到了一个错误:对与指定绑定约束匹配的“WpfApplication4.MainWindow”类型调用构造函数引发了异常。“行号“3”和行位置”9您的实体类是否实现inotify?在将标量属性映射到数据库后,我正在添加标量属性。然后我遇到了一个错误:对与指定绑定约束匹配的类型“WpfApplication4.MainWindow”调用构造函数时引发了异常。“行号“3”和“行位置”9您的实体类是否实现inotify?