簡體   English   中英

如何在 RIA 服務中擴展抽象實體類

[英]How to extend abstract Entity class in RIA Services

我想向 RIA 服務項目中的基本實體類添加一個 bool 變量和屬性,以便它在所有實體對象中都可用,但似乎無法弄清楚如何執行此操作。 我知道使用 .shared.cs 和部分類向實際實體本身添加屬性很容易,但是使用類似的方法將這些屬性添加到實體類是行不通的。

例如,下面的代碼不起作用

namespace System.ServiceModel.DomainServices.Client
{
    public abstract partial class Entity
    {
        private bool auditRequired;
        public bool AuditRequired
        {
            get { return auditRequired; }
            set { auditRequired = value; }
        }
    }
}

所發生的一切是現有的實體類被完全覆蓋而不是擴展實體類。

如何擴展基本實體類,以便在所有派生實體類中都可以使用功能?

您將無法向 Entity 類添加屬性。 此類已編譯且無法修改(部分類僅有效,因為您的解決方案中有該類的源代碼,並且該代碼可以在編譯時合並)。

一種選擇可能是創建一個繼承自 Entity 的類,然后在此類中添加您的屬性,並使您的實體繼承自您的自定義類而不是 Entity。 但是,這對於設計師來說可能不切實際。

public class MyEntityBase : Entity
{
    private bool auditRequired;
    public bool AuditRequired
    {
        get { return auditRequired; }
        set { auditRequired = value; }
    }
}

public class Entity1 : MyEntityBase
{

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM