Я использую PyQt для создания приложения с графическим интерфейсом. В представлении, унаследованном от QTableView, необходимо обнаруживать строку, выбранную пользователем, когда он дважды щелкает строку. В таблице есть сортировка, но нет редактирования.
Как мне это сделать?
Примечание - пробовал сигнал doubleClicked (int). Он испускается кнопками мыши, а не ячейками данных, поэтому он никогда не запускался. : m возникает проблема при попытке запустить мой проект при каждой его сборке. Кажется, что инициализатор запускается, но когда дело доходит до первого запроса - он умирает со следующим InvalidOperationException
.
This operation requires a connection to the 'master' database. Unable to create a
connection to the 'master' database because the original database connection has
been opened and credentials have been removed from the connection string. Supply
an unopened connection.
Для справки, я использую EF Code First CTP4, импортированный напрямую с NuGet. Подключение к SQL Server 2008 R2
Я хочу воссоздать базу данных, если есть какие-либо поправки к модели, и заполнить ее несколькими значениями для таблицы поиска. Похоже, что обе эти вещи поддерживаются * из коробки.
Моя установка выглядит так:
Global.asax
protected void Application_Start()
{
Database.SetInitializer<CoreDB>(new CoreDBInitialiser());
// et al...
}
CoreDB.cs
public class CoreDB : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Login> Logins { get; set; }
public DbSet<Permission> Permissions { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<RolePermission> RolePermissions { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
public DbSet<Setting> Settings { get; set; }
}
public class CoreDBInitialiser : RecreateDatabaseIfModelChanges<CoreDB>
{
protected override void Seed(CoreDB context)
{
var settings = new List<Setting>
{
new Setting
{
SettingName = "ExampleSetting",
SettingValue = "This is a sample setting value",
}
};
settings.ForEach(d => context.Settings.Add(d));
}
}
Когда он запускается, он умирает на строке, подобной этой , который, по сути, является первым запросом, который возникает после создания базы данных.
User data = (from u in _data.Users where u.Username == userName select u).SingleOrDefault();
Я не думаю, что это так:
providerName
.
* да, я знаю, что это CTP, поэтому "поддерживается", вероятно, не совсем подходящее слово :)