示例#1
0
        public int Count <T>(ICondition condition = null)
        {
            var request = new SelectRequest(true);

            request.SetTargetType <T>();

            if (condition != null)
            {
                request.AddCondition(condition);
            }

            var result = Requests.Execute <int>(request);

            return(result.First());
        }
示例#2
0
        public void CreateOrUpdate <T>(T obj)
        {
            var map      = Mappings[typeof(T)];
            var isCreate = false;

            var checkIsExistRequest = new SelectRequest(true);

            checkIsExistRequest.SetTargetType(obj.GetType());

            isCreate = Count <T>(Condition.Equals(map.PrimaryKeyName, typeof(T).GetProperty(map.PrimaryKeyName).GetValue(obj))) == 0;

            IRequest request;

            if (isCreate)
            {
                request = new CreateRequest(obj);
            }
            else
            {
                request = new UpdateRequest(obj);
            }

            Requests.Execute(request);
        }