VmDataStoreReferenceBase<TSelf>

Shared V5 data store reference for every virtualisation environment. Derive CanGetSingleUnitOfWorkDataStoreReferenceBase, the same base MachineScopeReference5 use for ISystemManagementUnitOfWork.

Note
A concrete provider only supply an IVirtualMachineOperations. Everything above this class - repository, unit of work, commit semantic - is provider neutral. That is what let two test class differ only in their wiring.
public abstract class VmDataStoreReferenceBase<TSelf> :
    CanGetSingleUnitOfWorkDataStoreReferenceBase<VmConnectionStringBuilder, TSelf, IVirtualizationUnitOfWork>
    where TSelf : VmDataStoreReferenceBase<TSelf>

1. Type Parameters

1.1. TSelf

TSelf

2. Constructors

2.1. VmDataStoreReferenceBase(VmConnectionStringBuilder, IKeyedServiceProvider)

Initialises a new instance of the VmDataStoreReferenceBase<TSelf> class.

protected VmDataStoreReferenceBase(VmConnectionStringBuilder connectionStringBuilder, IKeyedServiceProvider keyedServiceProvider)
Table 1. Parameters
Name Type Description

connectionStringBuilder

VmConnectionStringBuilder

Connection string carrying the store key.

keyedServiceProvider

IKeyedServiceProvider

Service provider.

3. Properties

3.1. Operations

Gets the environment operations seam of this reference.

protected abstract IVirtualMachineOperations Operations { get; }

4. Methods

4.1. EnsureCreated()

public override void EnsureCreated()

4.2. EnsureDeleted()

public override void EnsureDeleted()

4.3. Exists()

public override bool Exists()

Returns: bool

4.4. GetName()

protected override IDataStoreKey GetName()

Returns: IDataStoreKey

4.5. OpenDataStoreImplementation(bool)

protected override IDataStore2<IVirtualizationUnitOfWork> OpenDataStoreImplementation(out bool isNew)
Table 2. Parameters
Name Type Description

isNew

bool

Returns: IDataStore2<IVirtualizationUnitOfWork>