/* Copyright (C) 2008 - 2011 Jordan Marr This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . */ using System; namespace Marr.Data.Mapping.Strategies { /// /// A strategy for creating mappings for a given entity. /// public interface IMapStrategy { /// /// Creates a table map for a given entity type. /// /// /// string MapTable(Type entityType); /// /// Creates a ColumnMapCollection for a given entity type. /// /// The entity that is being mapped. ColumnMapCollection MapColumns(Type entityType); /// /// Creates a RelationshpCollection for a given entity type. /// /// The entity that is being mapped. /// RelationshipCollection MapRelationships(Type entityType); } }