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()); }
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); }