WPF и MySQL не имеют абсолютно никакого отношения друг к другу и могут использоваться вместе сколько угодно.Как вы реализуете это выбор, но выбор отдельного уровня данных всегда хороший вариант.Если вы создаете интерфейс для операций с данными, например
public interface MyPersonRepository{
Person GetById(args);
Person Insert(args);
Person Update(args);
void Delete(args);
}
, вы можете реализовать этот интерфейс так, как хотите, и использовать коннектор MySQL, Entity Framework или даже NHibernate для доступа к данным.Таким образом, WPF не знает, какая база данных используется, чего ему вообще не нужно знать.