public void Select_Dynamic_Exceptions() { //Arrange var testList = User.GenerateSampleModels(100, allowNullableProfiles: true); var qry = testList.AsQueryable(); //Act Assert.Throws <ParseException>(() => qry.Select("Bad")); Assert.Throws <ParseException>(() => qry.Select("Id, UserName")); Assert.Throws <ParseException>(() => qry.Select("new Id, UserName")); Assert.Throws <ParseException>(() => qry.Select("new (Id, UserName")); Assert.Throws <ParseException>(() => qry.Select("new (Id, UserName, Bad)")); Assert.Throws <ArgumentNullException>(() => DynamicQueryableExtensions.Select(null, "Id")); Assert.Throws <ArgumentNullException>(() => qry.Select(null)); Assert.Throws <ArgumentException>(() => qry.Select("")); Assert.Throws <ArgumentException>(() => qry.Select(" ")); }
public void Select_Dynamic_Exceptions() { //Arrange var testList = User.GenerateSampleModels(100, allowNullableProfiles: true); var qry = testList.AsQueryable(); //Act Assert.Throws <ParseException>(() => qry.Select("Bad")); Assert.Throws <ParseException>(() => qry.Select("Id, UserName")); Assert.Throws <ParseException>(() => qry.Select("new Id, UserName")); Assert.Throws <ParseException>(() => qry.Select("new (Id, UserName")); Assert.Throws <ParseException>(() => qry.Select("new (Id, UserName, Bad)")); Check.ThatCode(() => qry.Select <User>("new User(it.Bad as Bad)")).Throws <ParseException>().WithMessage("No property or field 'Bad' exists in type 'User'"); Assert.Throws <ArgumentNullException>(() => DynamicQueryableExtensions.Select(null, "Id")); Assert.Throws <ArgumentNullException>(() => qry.Select(null)); Assert.Throws <ArgumentException>(() => qry.Select("")); Assert.Throws <ArgumentException>(() => qry.Select(" ")); }
public static IQueryable <TResult> SelectInterpolated <TResult>(this IQueryable source, FormattableString selector) { var selectorStr = ParseFormattableString(selector, out var args); return(DynamicQueryableExtensions.Select <TResult>(source, selectorStr, args)); }
public static IQueryable SelectInterpolated(this IQueryable source, ParsingConfig config, Type resultType, FormattableString selector) { var selectorStr = ParseFormattableString(selector, out var args); return(DynamicQueryableExtensions.Select(source, config, resultType, selectorStr, args)); }