public static GetDefinitionNamePropertyInfo ( |
||
metaDataType | ||
리턴 |
/// <exclude /> public static IEnumerable <IData> GetMetaData(string definitionName, Type metaDataType) { Verify.ArgumentNotNull(definitionName, nameof(definitionName)); Verify.ArgumentNotNull(metaDataType, nameof(metaDataType)); var parameterExpression = Expression.Parameter(metaDataType); var lambdaExpression = Expression.Lambda( Expression.Equal( Expression.Property( parameterExpression, PageMetaDataFacade.GetDefinitionNamePropertyInfo(metaDataType) ), Expression.Constant( definitionName, typeof(string) ) ), parameterExpression ); var whereExpression = ExpressionCreator.Where(DataFacade.GetData(metaDataType).Expression, lambdaExpression); IEnumerable <IData> datas = ExpressionHelper.GetCastedObjects <IData>(metaDataType, whereExpression); return(datas); }
/// <exclude /> public static IEnumerable <IData> GetMetaData(string definitionName, Type metaDataType) { //TODO: Consider caching here ParameterExpression parameterExpression = Expression.Parameter(metaDataType); LambdaExpression lambdaExpression = Expression.Lambda( Expression.Equal( Expression.Property( parameterExpression, PageMetaDataFacade.GetDefinitionNamePropertyInfo(metaDataType) ), Expression.Constant( definitionName, typeof(string) ) ), parameterExpression ); Expression whereExpression = ExpressionCreator.Where(DataFacade.GetData(metaDataType).Expression, lambdaExpression); IEnumerable <IData> datas = ExpressionHelper.GetCastedObjects <IData>(metaDataType, whereExpression); return(datas); }
/// <exclude /> public static IData GetMetaData(Guid pageId, Guid pageVersionId, string definitionName, Type metaDataType) { Verify.ArgumentNotNull(definitionName, nameof(definitionName)); Verify.ArgumentNotNull(metaDataType, nameof(metaDataType)); //TODO: Consider caching here var parameterExpression = Expression.Parameter(metaDataType); var lambdaExpression = Expression.Lambda( Expression.And( Expression.And( Expression.Equal( Expression.Property( parameterExpression, PageMetaDataFacade.GetDefinitionNamePropertyInfo(metaDataType) ), Expression.Constant( definitionName, typeof(string) ) ), Expression.Equal( Expression.Property( parameterExpression, GetDefinitionPageReferencePropertyInfo(metaDataType) ), Expression.Constant( pageId, typeof(Guid) ) ) ), Expression.Equal( Expression.Property( parameterExpression, GetDefinitionPageReferencePropertyVersionInfo(metaDataType) ), Expression.Constant( pageVersionId, typeof(Guid) ) ) ), parameterExpression ); Expression whereExpression = ExpressionCreator.Where(DataFacade.GetData(metaDataType).Expression, lambdaExpression); IEnumerable <IData> dataset = ExpressionHelper.GetCastedObjects <IData>(metaDataType, whereExpression); return(dataset.SingleOrDefaultOrException("There're multiple meta data on a page. Page '{0}', definition name '{1}', meta type '{2}'", pageId, definitionName, metaDataType.FullName)); }