次の方法で共有


Entity クラス

すべてのエンティティ型の基本クラスです。

名前空間: System.ServiceModel.DomainServices.Client
アセンブリ: System.ServiceModel.DomainServices.Client (system.servicemodel.domainservices.client.dll 内)

使用方法

'使用
Dim instance As Entity

構文

'宣言
<DataContractAttribute> _
Public MustInherit Class Entity
    Implements INotifyDataErrorInfo, IEditableObject, INotifyPropertyChanged, IRevertibleChangeTracking, _
    IChangeTracking
[DataContractAttribute] 
public abstract class Entity : INotifyDataErrorInfo, IEditableObject, INotifyPropertyChanged, 
    IRevertibleChangeTracking, IChangeTracking
[DataContractAttribute] 
public ref class Entity abstract : INotifyDataErrorInfo, IEditableObject, INotifyPropertyChanged, 
    IRevertibleChangeTracking, IChangeTracking
/** @attribute DataContractAttribute() */ 
public abstract class Entity implements INotifyDataErrorInfo, IEditableObject, 
    INotifyPropertyChanged, IRevertibleChangeTracking, IChangeTracking
DataContractAttribute 
public abstract class Entity implements INotifyDataErrorInfo, IEditableObject, 
    INotifyPropertyChanged, IRevertibleChangeTracking, IChangeTracking

部分メソッドを実装してプロパティ値をカスタマイズすることにより、生成したエンティティ クラスを拡張する方法を次の例に示します。

Imports System.ServiceModel.DomainServices.Client

Namespace Web
  Partial Public Class Employee
    Inherits Entity

    ReadOnly Property TotalOffHours() As Integer
      Get
        Return Me.SickLeaveHours + Me.VacationHours
      End Get
    End Property

    Private Sub OnSickLeaveHoursChanged()
      Me.RaisePropertyChanged("TotalOffHours")
    End Sub

    Private Sub OnVacationHoursChanged()
      Me.RaisePropertyChanged("TotalOffHours")
    End Sub
  End Class
End Namespace
using System.ServiceModel.DomainServices.Client;

namespace RIAServicesExample.Web
{
  public partial class Employee : Entity
  { 
    public int TotalOffHours 
    { 
      get { return this.SickLeaveHours + this.VacationHours; } 
    } 
    partial void OnSickLeaveHoursChanged() 
    { 
      this.RaisePropertyChanged("TotalOffHours"); 
    } 
    partial void OnVacationHoursChanged() 
    { 
      this.RaisePropertyChanged("TotalOffHours"); 
    } 
  }
}

解説

クエリ操作でサーバー上にエンティティを公開すると、対応するエンティティがクライアント プロジェクトに生成されます。生成されたエンティティは Entity クラスから派生し、サーバー プロジェクトのエンティティ クラスと同じプロパティを含みます。サーバーのエンティティに適用するすべての検証属性は、クライアント エンティティにも適用されます。生成されたクライアント エンティティには、OnFirstNameChanging (FirstName はエンティティのプロパティ名) などの部分メソッドが含まれています。部分メソッドを実装し、指定したイベントで実行されるカスタマイズ コードを提供することができます。詳細については、「Client Code Generation」および「Customizing Generated Code」を参照してください。

継承階層

System.Object
  System.ServiceModel.DomainServices.Client.Entity

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008、および Windows 2000

ターゲット プラットフォーム

Change History

参照

リファレンス

Entity のメンバー
System.ServiceModel.DomainServices.Client 名前空間