我想在我的RIA服务项目中向基础Entity类添加一个bool变量和属性,以便它可以在所有实体对象中使用,但似乎无法解决如何执行此操作。我知道使用.shared.cs和部分类很容易向实际实体本身添加属性,但是使用类似的方法将这些属性添加到Entity类不起作用。
例如,以下代码不起作用
namespace System.ServiceModel.DomainServices.Client
{
public abstract partial class Entity
{
private bool auditRequired;
public bool AuditRequired
{
get { return auditRequired; }
set { auditRequired = value; }
}
}
}
所有发生的事情是现有的Entity类完全覆盖而不是扩展Entity类。
如何扩展基本实体类,以便在所有派生实体类中都可以使用功能?
答案 0 :(得分:2)
您将无法向Entity类添加属性。此类已编译且无法修改(部分类仅起作用,因为您的解决方案中包含该类的源代码,并且代码可以在编译时合并)。
一个选项可能是创建一个继承自Entity的类,然后在此类中添加您的属性,并让您的实体继承自您的自定义类而不是Entity。但这对于设计师来说可能并不实用。
public class MyEntityBase : Entity
{
private bool auditRequired;
public bool AuditRequired
{
get { return auditRequired; }
set { auditRequired = value; }
}
}
public class Entity1 : MyEntityBase
{
}