1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-13 22:43:35 +01:00
Radarr/Marr.Data/Mapping/TableBuilder.cs
2013-07-18 20:47:55 -07:00

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
}
}