Remotion.Linq.SqlBackend.UnitTests.MappingResolverStub_CreateDatabaseUtility.GetColumnValue C# (CSharp) Метод

GetColumnValue() приватный статический Метод

private static GetColumnValue ( object entity, MappingResolverStub mappingResolver, SqlEntityDefinitionExpression sqlEntityDefinition, string columnName ) : object
entity object
mappingResolver MappingResolverStub
sqlEntityDefinition Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlEntityDefinitionExpression
columnName string
Результат object
    private static object GetColumnValue (object entity, MappingResolverStub mappingResolver, SqlEntityDefinitionExpression sqlEntityDefinition, string columnName)
    {
      var propertiesWithColumnName =
          entity.GetType()
                .GetProperties()
                .SelectMany (p => TryResolveProperty (mappingResolver, sqlEntityDefinition, p, entity), (p, t) => new { Property = p, ColumnNameAndValue = t })
                .ToArray();
      var matchingProperty = propertiesWithColumnName.FirstOrDefault (d => d.ColumnNameAndValue.Key == columnName);
      // Assert.That (matchingProperties, Has.Length.LessThanOrEqualTo (1), entity.GetType().Name + ": " + string.Join (",", matchingProperties));

      Assert.IsNotNull (
          matchingProperty,
          "No member found for column '{0}' on entity type '{1}'.\r\n(Found: {2})",
          columnName,
          entity.GetType().Name,
          string.Join (",", propertiesWithColumnName.Select (p=> p.ToString())));
      return matchingProperty.ColumnNameAndValue.Value;
    }