Remotion.Linq.SqlBackend.MappingResolution.MappingResolutionContext.GetSqlTableForEntityExpression C# (CSharp) Method

GetSqlTableForEntityExpression() public method

public GetSqlTableForEntityExpression ( SqlEntityExpression entityExpression ) : SqlTableBase
entityExpression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlEntityExpression
return Remotion.Linq.SqlBackend.SqlStatementModel.SqlTableBase
    public SqlTableBase GetSqlTableForEntityExpression (SqlEntityExpression entityExpression)
    {
      ArgumentUtility.CheckNotNull ("entityExpression", entityExpression);

      SqlTableBase result;
      if (_entityMapping.TryGetValue (entityExpression, out result))
        return result;

      var message = string.Format ("No associated table found for entity '{0}'.", FormattingExpressionTreeVisitor.Format (entityExpression));
      throw new InvalidOperationException (message);
    }

Usage Example

    public void ResolveReference ()
    {
      var sqlTable = new SqlTable (_tableInfo, JoinSemantics.Inner);
      var fakeResult = SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression (typeof (Cook));

      var generator = new UniqueIdentifierGenerator();
      var resolverMock = MockRepository.GenerateStrictMock<IMappingResolver>();
      var mappingResolutionContext = new MappingResolutionContext();

      resolverMock
          .Expect (mock => mock.ResolveSimpleTableInfo (_tableInfo, generator))
          .Return (fakeResult);
      resolverMock.Replay ();

      var result = _tableInfo.ResolveReference (sqlTable, resolverMock, mappingResolutionContext, generator);

      resolverMock.VerifyAllExpectations ();
      Assert.That (result, Is.SameAs (fakeResult));
      Assert.That (mappingResolutionContext.GetSqlTableForEntityExpression ((SqlEntityExpression) result), Is.SameAs (sqlTable));
    }