Example #1
0
        protected virtual void OnExecute(DataExistContext context, ExistStatement statement)
        {
            //根据生成的脚本创建对应的数据命令
            var command = context.Session.Build(statement);

            //执行命令
            var result = command.ExecuteScalar();

            if (result == null || System.Convert.IsDBNull(result))
            {
                context.Result = false;
            }
            else
            {
                context.Result = Zongsoft.Common.Convert.ConvertValue <bool>(result);
            }
        }
        public void Test()
        {
            const string NAME = "Asset";

            var accessor = new DataAccess(APPLICATION_NAME);

            var context = new DataExistContext(accessor,
                                               NAME,                               //name
                                               Condition.Equal("PrincipalId", 100) // Condition.Equal("Principal.User.Name", "Popeye"), //condition
                                               );

            var statements = context.Build().ToArray();

            Assert.NotNull(statements);
            Assert.NotEmpty(statements);

            var command = context.Session.Build(statements[0]);

            Assert.NotNull(command);
            Assert.NotNull(command.CommandText);
            Assert.True(command.CommandText.Length > 0);

            System.Diagnostics.Debug.WriteLine(command.CommandText);
        }