mirror of https://github.com/Sonarr/Sonarr
59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
|
using System;
|
|||
|
|
|||
|
namespace Marr.Data.Mapping
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// This class has fluent methods that are used to easily configure the table mapping.
|
|||
|
/// </summary>
|
|||
|
public class TableBuilder<TEntity>
|
|||
|
{
|
|||
|
private FluentMappings.MappingsFluentEntity<TEntity> _fluentEntity;
|
|||
|
|
|||
|
public TableBuilder(FluentMappings.MappingsFluentEntity<TEntity> fluentEntity)
|
|||
|
{
|
|||
|
_fluentEntity = fluentEntity;
|
|||
|
}
|
|||
|
|
|||
|
#region - Fluent Methods -
|
|||
|
|
|||
|
public TableBuilder<TEntity> SetTableName(string tableName)
|
|||
|
{
|
|||
|
MapRepository.Instance.Tables[typeof(TEntity)] = tableName;
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public FluentMappings.MappingsFluentColumns<TEntity> Columns
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_fluentEntity == null)
|
|||
|
{
|
|||
|
throw new Exception("This property is not compatible with the obsolete 'MapBuilder' class.");
|
|||
|
}
|
|||
|
|
|||
|
return _fluentEntity.Columns;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public FluentMappings.MappingsFluentRelationships<TEntity> Relationships
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (_fluentEntity == null)
|
|||
|
{
|
|||
|
throw new Exception("This property is not compatible with the obsolete 'MapBuilder' class.");
|
|||
|
}
|
|||
|
|
|||
|
return _fluentEntity.Relationships;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public FluentMappings.MappingsFluentEntity<TNewEntity> Entity<TNewEntity>()
|
|||
|
{
|
|||
|
return new FluentMappings.MappingsFluentEntity<TNewEntity>(true);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|