Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework) / 7 сообщений из 7, страница 1 из 1
03.07.2013, 14:15
    #38318737
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
Посоветуйте компактное хранилище данных, без необходимости инсталяции дополнительных библиотек. Очень желательна поддержка Entity Framework если это будет база. Как варианты расматриваю Sql compact (нужна инсталяция клиента), SqlLite (в системе может не оказаться нужных библиотек), или хранение инфы в XML.
...
Рейтинг: 0 / 0
03.07.2013, 15:23
    #38318949
SolYUtor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
Fet Frumos,

SQLite и SQLCe устанавливаются как dll, которые лежат рядом с вашим приложением. Так что подойдут оба.
...
Рейтинг: 0 / 0
04.07.2013, 10:02
    #38319968
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
...
Рейтинг: 0 / 0
05.07.2013, 12:07
    #38321687
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
С развертыванием не все так просто. На компьютере пользователя Sql compact ставить не буду, пробую подложить dll не работает. Если у есть рабочий пример поделитесь пож. Пока ищу в сети.
...
Рейтинг: 0 / 0
05.07.2013, 16:23
    #38322183
Fet Frumos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
Вроде разобрался. Я использую CodeFirst, что нужно сделать в этом случае
1. Прописываем в App.config
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<connectionStrings>
    <add name="MyContext"
         providerName="System.Data.SqlServerCe.4.0"
         connectionString="Data Source=|DataDirectory|Db.sdf"/>
  </connectionStrings>

  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SqlServerCe.4.0"/>
      <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
    </DbProviderFactories>
  </system.data>



имя строки соединения совпадает с именем контекста, подхватывает по умолчанию. В проект добавляет ссылки на System.Data.SqlServerCe, System.Data.SqlServerCe.Entity. В их свойствах ставим копировать локально. Так же подкладываем dll из каталога Sql commpact edition( смотрим в Program Files) в количестве 7 штук. После этого должно работать на клиенте где Sql CE не установлен. Линк по теме
...
Рейтинг: 0 / 0
15.07.2013, 18:19
    #38331830
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
sqlite как бы вызывается хорошо

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
  DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");
  using (SQLiteConnection cnn = (SQLiteConnection)fact.CreateConnection())
  {
    cnn.ConnectionString = "Data Source=trace.db";
    cnn.Open();
    if (Settings.tblFill){
      DataSet ds = new DataSet();
  //     
      SQLiteDataAdapter da = new SQLiteDataAdapter( "select * from version", cnn);
     // SQLiteDataAdapter da1 = new SQLiteDataAdapter(  cnn);
      da.Fill(ds, "select");
      PrintTable(ds, "select",  true);
      ds.Dispose();
    }
    else {
     SQLiteCommand cmd = new SQLiteCommand (cnn);
     cmd.CommandText = "select * from version";
                                                                

     SQLiteDataReader  dr =  cmd.ExecuteReader();
     Console.WriteLine ("fields number: '{0}'", dr.FieldCount);

     if (dr.HasRows){
       while (dr.Read()){
         Console.WriteLine ("col1/name: '{0}'/'{2}', col2: '{1}', val column: '{3}'"
                  , dr.GetValue(0)
                  , dr.GetValue(1)
                  , dr.GetName(0)
                  , dr["val"]
                  );
       }
     }
    
     dr.Close();
    }
  }



а можно чтото сделать с app.config и или кодом приложения

что бы его (файла конфиг) не было?




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<configuration>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.86.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </DbProviderFactories>
  </system.data>
</configuration>

...
Рейтинг: 0 / 0
18.07.2013, 00:11
    #38334911
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework)
upd
никакого конфига не надо если не использовать гетфактори
Код: c#
1.
2.
3.
4.
5.
 // DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");

  
//  using (SQLiteConnection cnn = (SQLiteConnection)fact.CreateConnection())
  using (SQLiteConnection cnn = new SQLiteConnection("Data Source=trace.db"))
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Посоветуйте компактное хранилище (без необходимости инсталяции + Entity Framework) / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]