예제 #1
0
        public static PropertyInfo ParseSelector(LambdaExpression expression)
        {
            if (expression.Body is MemberExpression memberExpression &&
                memberExpression.Member is PropertyInfo property &&
                memberExpression.Expression.NodeType == ExpressionType.Parameter)
            {
                return(property);
            }

            throw BuilderError.SelectorInvalid(expression.Parameters[0].Name).AsException();
        }
예제 #2
0
        public async void Table__Error_On_Table_Selector_Not_Property(string selector)
        {
            var mb = @"var users = new List<User>();
                       var _ = mb.Database(nameof(Database))
                                 .Table(d => d.Table(t => " + selector + @")
                                              .Column(t => t.UserId, SqlType.Int)
                                              .Build())
                                 .Build();";

            await VerifyErrorRaised(mb, BuilderError.SelectorInvalid("t"), selector);
        }
예제 #3
0
 public async void Column__Error_On_Invalid_Column_Selector(string selector, string mb)
 {
     await VerifyErrorRaised(mb, BuilderError.SelectorInvalid("t"), selector);
 }
예제 #4
0
 public async void Error_On_ReferenceTable_Selector_Invalid(string location, string foreignKey)
 {
     await VerifyForeignKeyErrorRaised(BuilderError.SelectorInvalid("t"), foreignKey, location);
 }
예제 #5
0
 public async void Error_On_KeyColumn_OrderedSelector_Invalid(string location, string foreignKey)
 {
     await VerifyForeignKeyErrorRaised(BuilderError.SelectorInvalid("t"), foreignKey, location);
 }
예제 #6
0
 public async void Error_On_IncludedColumn_Selector_Invalid(string location, string index)
 {
     await VerifyIndexErrorRaised(BuilderError.SelectorInvalid("t"), location, index);
 }