mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-11-01 00:12:30 +01:00
62 lines
1.7 KiB
C#
62 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
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
|
|
}
|
|
}
|