SQL CE 3.5 и EntityFramework - PullRequest
       12

SQL CE 3.5 и EntityFramework

0 голосов
/ 24 августа 2010

В моем решении VS2010, используемом с моделью EF4, есть файл sqlce 3.5 local db.Мне нужно защитить мою базу данных паролем, но не сериализовать его в app.config.Мне также нужно настроить максимальный размер файла базы данных на максимально допустимое значение, которое составляет 4091 МБ, когда я пытаюсь установить в коде connectionString, я не могу найти способ установить «Максимальный размер базы данных = 4091».

Вот метод, который я использую для построения строки подключения

private string GetConnectionString() {
        // Specify the provider name, server and database.
        string providerName = "System.Data.SqlServerCe.3.5";
        string dataSource = @"|DataDirectory|\Database\dbFileName.sdf";
        string password = "mypassword";
        // Initialize the connection string builder for the underlying provider.
        SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder();
        // Set the properties for the data source.
        sqlBuilder.DataSource = dataSource;
        sqlBuilder.Password = password;
        // Build the SqlConnection connection string.
        string providerString = sqlBuilder.ToString();

        // Initialize the EntityConnectionStringBuilder.
        EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
        //Set the provider name.
        entityBuilder.Provider = providerName;
        // Set the provider-specific connection string.
        entityBuilder.ProviderConnectionString = providerString;
        // Set the Metadata location.
        entityBuilder.Metadata = @"res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl";
        return entityBuilder.ToString();
    }

Кто-нибудь знает, как мне это сделать?Большое спасибо

Любой другой способ получить:

  • Защита паролем + пароль, установленный в коде

  • Максимальный дБфайл = 4091 МБ

Ответы [ 2 ]

0 голосов
/ 23 июля 2013

Я получаю ту же ошибку, когда использую конструктор DbContext и пытался использовать разные строки подключения. Подобная строка подключения работает нормально, если я использую SqlCeConnection. Это прекрасно работает

SQL_CONNECTION_STRING = String.Format("password={0};Persist Security Info=True;Data Source={1};Max Database Size=1024", scsb.Password, ccdaSetup.DataSource);
0 голосов
/ 01 сентября 2010

Не используйте SqlConnectionStringBuilder, он предназначен для соединений с SQL Server, а не для SQL Server Compact. Просто установите

string providerString = @"Data Source=|DataDirectory|\Database\dbFileName.sdf;Password=abc;Max Database Size=4091"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...