public IEnumerable <User> Handle(UserListQuery message) { //We need to support multi datbases so when we want to query the database for our users what db specific SQL should we use? //One option is to put the SQL in a resx file but then we'll need to do a if/then/else check in all our query classes //to work out which sql to use, not pretty. //Another option would be to move the abstraction to the database and use stored procedures! That way we can have one query class //and pass any parameters into the stored procedure and that can do whatever it needs to do. using (var dbConnection = this.dbConnectionProvider.GetConnection()) { var data = dbConnection.Query <User>("spGetUsers", commandType: CommandType.StoredProcedure); return(data); } }
public HomeModule(IMediator mediator) { Get["/"] = _ => { var query = new UserListQuery(-1); return(mediator.Send(query)); }; Post["/"] = _ => { //We would do the same above using mediatr to call a command handler return(201); }; }