我首先使用C#2010实体框架代码 如果我有这样的课程
partial class test
{
public double value1;
public double value2;
public double value3;
public double totals;
}
由代码生成的
我怎样才能创建到计算总计的部分类
partial class test
{
public double totals { get { return value1 + value2 + value3; } }
1 - 您知道更改生成的类是不切实际的。 2 - 无法部分定义属性总计。 3 - 使用元数据类不会更新总计直到savechanges。
我很感激如果有人能定义我如何实现OnpropertyChanged并用于解决这个问题
谢谢
答案 0 :(得分:0)
第二节课中的属性缺少“get”关键字:
partial class test
{
public double totals {
get { return value1 + value2 + value3; }
}
}
或者,您可以定义Total()方法。
据我所知(“如何创建部分类到计算总计”),您不需要使用OnPropertyChanged,因为总计属性/方法每次都会使用新值运行计算总计。您可以从原始类中删除该字段,因为它是一个计算,实际上不应存储。
如果必须实际更新数据库中的总值,则可以按照建议使用OnPropertyChanged部分方法。您需要使用属性来调用新方法:
partial class test
{
public double Value1
{
get { return value1; }
set
{
value1 = value;
Onvalue1Changed(value);
}
}
partial void Onvalue1Changed(double value)
{
UpdateTotals();
}
private void UpdateTotals()
{
totals = value1 + value2 + value3;
}
}
您应该将原始字段设为私有,并且仅通过该属性提供公共访问权限。这不仅是更好的代码设计,还允许您实现所需的功能。
当然,您可以遵循其他模式,但这应该可以让您开始。