SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 07.10.17 23:34
Оценка:
Собственно, выбрал SQL Server CE как базовую для проги. Можно переключать, но для не опытных она автоматом стоит. Выбрал как наименее гемморную для EF, для которой из коробки все работает (для SQLite нужно вручную создавать таблицы, а это мне не приятно).

Но есть одна заноза. На моем компе все работает шустро, подключается за 1 сек. А на других компах с тем же окружением, с более быстрым железом, той же версией Windows и .Net, с той же версией SQL CE 4.0 SP 1 -- подключение происходит 5-7 сек.

В чем может быть заноза? Как бы лучше найти?
Re: SQL Server CE -- как понять где проблема?
От: VladCore  
Дата: 08.10.17 00:08
Оценка: 3 (1) +1
Здравствуйте, Shmj, Вы писали:

S>Собственно, выбрал SQL Server CE как базовую для проги. Можно переключать, но для не опытных она автоматом стоит. Выбрал как наименее гемморную для EF, для которой из коробки все работает (для SQLite нужно вручную создавать таблицы, а это мне не приятно).



А вопросы задавать или гууглить религия не позволяет?

Не знаю какой у вас инициалайзер, но вы не поверите — в SQLite даже миграции поддерживаются. достаточно в конструкторе Configuration указать

public Configuration()
{
    SetSqlGenerator("System.Data.SQLite", new SQLiteMigrationSqlGenerator());
}
Отредактировано 08.10.2017 0:09 VladCore . Предыдущая версия .
Re: SQL Server CE -- как понять где проблема?
От: bnk СССР http://unmanagedvisio.com/
Дата: 08.10.17 00:28
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Собственно, выбрал SQL Server CE как базовую для проги. Можно переключать, но для не опытных она автоматом стоит. Выбрал как наименее гемморную для EF, для которой из коробки все работает (для SQLite нужно вручную создавать таблицы, а это мне не приятно).


EF не поддерживает SQL CE, насколько я знаю, ты скорее всего заблуждаешься. И не стоит он нигде автоматом, AFAIK.
Ты точно его не путаешь с чем-то другим? Неоткуда там взяться секундным задержкам, там же просто файл.
А вообще сейчас SQL CE выглядит примерно таким же мертвым как сильверлвйт.
Оно тебе точно надо, тащить его в новый продукт?

А вот для SQLITE как раз EF работает, и он официально поддерживается.
Вручную создавать таблицы не обязательно.
Re[2]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 08.10.17 01:51
Оценка:
Здравствуйте, VladCore, Вы писали:

VC>Не знаю какой у вас инициалайзер, но вы не поверите — в SQLite даже миграции поддерживаются. достаточно в конструкторе Configuration указать


VC>
VC>public Configuration()
VC>{
VC>    SetSqlGenerator("System.Data.SQLite", new SQLiteMigrationSqlGenerator());
VC>}
VC>


А где его взять? У меня не видит SQLiteMigrationSqlGenerator . Подключены пакеты:

  <package id="System.Data.SQLite" version="1.0.105.2" targetFramework="net45" />
  <package id="System.Data.SQLite.Core" version="1.0.105.2" targetFramework="net45" />
  <package id="System.Data.SQLite.EF6" version="1.0.105.2" targetFramework="net45" />
  <package id="System.Data.SQLite.Linq" version="1.0.105.2" targetFramework="net45" />
Re[2]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 08.10.17 01:55
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>EF не поддерживает SQL CE, насколько я знаю, ты скорее всего заблуждаешься. И не стоит он нигде автоматом, AFAIK.


Поддерживает полностью, включая миграции. Достаточно подключить пакет:

  <package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net45" />


bnk>Ты точно его не путаешь с чем-то другим? Неоткуда там взяться секундным задержкам, там же просто файл.


MS всегда найдет где взять секундные задержки, даже если это просто файл

Причем на моем компе задержек нет. На других есть. Как понять почему нет у меня

bnk>А вообще сейчас SQL CE выглядит примерно таким же мертвым как сильверлвйт.


Но он работает.

bnk>А вот для SQLITE как раз EF работает, и он официально поддерживается.

bnk>Вручную создавать таблицы не обязательно.

Тут пишут:

Unlike MS SQL Server, as default, the free Sqlite driver from system.data.sqlite doesn’t support Migration.So you can’t create a new database from code.You have to manually create it.


https://stackoverflow.com/questions/39247760/how-to-enable-migration-in-sqlite
Re: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 08.10.17 04:42
Оценка:
Здравствуйте, Shmj, Вы писали:

S>В чем может быть заноза? Как бы лучше найти?


Обнаружил проблему. Оказывается на девелоперской машине я делал прекомпиляцию EF с помощью команды:

%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen install EntityFramework.dll


А на остальных не делал. Вот в этом и заноза была...
Re[3]: SQL Server CE -- как понять где проблема?
От: bnk СССР http://unmanagedvisio.com/
Дата: 08.10.17 13:30
Оценка: 3 (1)
Здравствуйте, Shmj, Вы писали:

bnk>>EF не поддерживает SQL CE, насколько я знаю, ты скорее всего заблуждаешься. И не стоит он нигде автоматом, AFAIK.


S>Поддерживает полностью, включая миграции. Достаточно подключить пакет:

S> <package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net45" />

Это 2012 год. С того времени он к сожалению успел немножко помереть.

S>Unlike MS SQL Server, as default, the free Sqlite driver from system.data.sqlite doesn’t support Migration.So you can’t create a new database from code.You have to manually create it.


S>https://stackoverflow.com/questions/39247760/how-to-enable-migration-in-sqlite


Тоже устаревшая информация.
"Официальных" (out-of-the-box) провайдеров от M$ для EF7 (который стал теперь Core) ровно три три: SQL SERVER, SQLITE, In-Memory.

https://github.com/aspnet/EntityFrameworkCore
Re[4]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 08.10.17 13:53
Оценка:
Здравствуйте, bnk, Вы писали:

S>>Поддерживает полностью, включая миграции. Достаточно подключить пакет:

S>> <package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net45" />

bnk>Это 2012 год. С того времени он к сожалению успел немножко помереть.


Не пытайтесь угнаться за модой, это не всегда разумно. Если решение работает -- значит его можно использовать.

bnk>Тоже устаревшая информация.

bnk>"Официальных" (out-of-the-box) провайдеров от M$ для EF7 (который стал теперь Core) ровно три три: SQL SERVER, SQLITE, In-Memory.

bnk>https://github.com/aspnet/EntityFrameworkCore




А теперь сравните классический EF, который на 2 месте в nuget-пакетах и 34 млн. скачиваний и эту недоделку. А так же возможности -- классический EF поддерживает и MySQL и Postgre...

Вы спешите. MS много чего пытается но мало что получается. Вот телефоны хотели делать. Ну и где эти телефоны сейчас?
Re: Оффтоп
От: Sharov Россия  
Дата: 09.10.17 10:06
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Собственно, выбрал SQL Server CE как базовую для проги. Можно переключать, но для не опытных она автоматом стоит. Выбрал как наименее гемморную для EF, для которой из коробки все работает (для SQLite нужно вручную создавать таблицы, а это мне не приятно).


У любого уважающего себя ORM есть api для генерации ddl скрипта содержимой модели. Или создание таблиц прямо из дизайнера -- нужно провайдер только настроить.
У меня OpenAccess Telerik, генерации ddl скрипта модели выглядит как-то так (поглядел у них на форуме):
  как-то так
      private static void Initialize(string conStr)
        {
            using(var context = new MyModel())
            {
                MetadataContainer metadata = context.Metadata;
                foreach (MetaPersistentType type in metadata.PersistentTypes)
                {
                    // This will create all entity tables in model, but not tables for joins
                    type.ShouldUpdateSchema = true;

                    // Now handle table joins for associations
                    foreach (MetaMember member in type.Members)
                    {
                        var navMember = member as MetaNavigationMember;
                        if (navMember != null)
                        {
                            var joinAssociation = navMember.Association as MetaJoinTableAssociation;
                            if (joinAssociation != null)
                                joinAssociation.ShouldUpdateSchema = true; // Only do if there is a join association
                        }
                    }
                }

                BackendConfiguration config = MyModel.GetBackendConfiguration();

                using(var updateContext = new OpenAccessContext(conStr, config, metadata))
                {
                    ISchemaHandler schema = updateContext.GetSchemaHandler();
                    schema.CreateDatabase();
                    string ddlScript = schema.CreateDDLScript();
                    schema.ExecuteDDLScript(ddlScript);
                }
            }
        }
Кодом людям нужно помогать!
Re[5]: SQL Server CE -- как понять где проблема?
От: IT Россия linq2db.com
Дата: 10.10.17 14:27
Оценка: +2 :))
Здравствуйте, Shmj, Вы писали:

S>А теперь сравните классический EF, который на 2 месте в nuget-пакетах и 34 млн. скачиваний и эту недоделку.


EF включается визардом в любой создаваемый проект, даже если никто об этом не просит. Поэтому у него такое количество скачиваний. После того, как проект сгенерирован и с ним поигрались, его либо удаляют, либо удаляют из него EF.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: SQL Server CE -- как понять где проблема?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.10.17 10:24
Оценка:
Здравствуйте, IT, Вы писали:

IT>EF включается визардом в любой создаваемый проект, даже если никто об этом не просит. Поэтому у него такое количество скачиваний. После того, как проект сгенерирован и с ним поигрались, его либо удаляют, либо удаляют из него EF.


В Asp Core все же убрали, если не включать аутентификацию.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[7]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 15.10.17 15:36
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>В Asp Core все же убрали, если не включать аутентификацию.


Да что вы носитесь с тем Core как дурень с писаной торбой.

Уже ж были и Win Phone и Win RT. Мало вам?

Получится проект или нет -- зависит не от Микрософта.

Покажите мне Core.
Отредактировано 15.10.2017 15:36 Shmj . Предыдущая версия .
Re[8]: SQL Server CE -- как понять где проблема?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.10.17 17:17
Оценка:
Здравствуйте, Shmj, Вы писали:

AVK>>В Asp Core все же убрали, если не включать аутентификацию.

S>Да что вы носитесь с тем Core как дурень с писаной торбой.

Ну не носись, делов то. Будешь сидеть на старой медленно протухающей версии без заметных обновлений, делов то.

S>Уже ж были и Win Phone и Win RT. Мало вам?


Доказательство по аналогии?

S>Покажите мне Core.


Сам смотри.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[9]: SQL Server CE -- как понять где проблема?
От: Sharov Россия  
Дата: 16.10.17 09:59
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Уже ж были и Win Phone и Win RT. Мало вам?


AVK>Доказательство по аналогии?


Скорее, по индукции.
Кодом людям нужно помогать!
Отредактировано 17.10.2017 9:26 Sharov . Предыдущая версия .
Re[10]: SQL Server CE -- как понять где проблема?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.10.17 06:33
Оценка: :)
Здравствуйте, Sharov, Вы писали:

S>>>Уже ж были и Win Phone и Win RT. Мало вам?

AVK>>Доказательство по аналогии?
S>Скорее по индукции.

Что в лоб, что по лбу.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[11]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 17.10.17 14:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Что в лоб, что по лбу.


Слышал хороший совет. Прежде чем заюзать очередную новомодную технологию от MS, следует выждать минимум 2 года. Если после этого времени разговоры о кончине не начинаются -- можно юзать.

Core релизнули только 2016-06-27. Т.е. к осени 2018 можно будет прислушиваься, говорят ли о кончине Core или хотят ли ее на что-либо заменить.

Сколько людей обожглось на том же Silverlight, WinRT, WinPhone... Я уже не говорю про малоизвестные технологии, такие как LightSwitch.
Re[12]: SQL Server CE -- как понять где проблема?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.10.17 15:02
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Сколько людей обожглось на том же Silverlight, WinRT, WinPhone... Я уже не говорю про малоизвестные технологии, такие как LightSwitch.


Но намного больше технологий продолжают жить. Риск есть всегда, а чтобы его минимизировать надо не на воду дуть и сроки выжидать, а использовать мозг и немножко инсайда.
Конкретно ASP.NET Core, и тебе это уже говорили, не абсолютно новая технология, а следующая версия ASP.NET MVC. Да, не полностью совместимая. Но изменения в основном касаются middleware и всяких вспомогательных вещей типа новых конфигов или встроенного DI. И в том крайне маловероятном случае, когда МС совсем забъет на Core, много времени вернуться на старый ASP.NET и OWIN не займет.
Я уж не говорю о том, что альтернатив Core, при условии сохранения генерации вьюх на беке, по сути и нет. MVC 5 никто активно развивать уже не будет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[13]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 17.10.17 16:01
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Я уж не говорю о том, что альтернатив Core, при условии сохранения генерации вьюх на беке, по сути и нет. MVC 5 никто активно развивать уже не будет.


Есть вариант отказа от HTML как такового. Для поисковиков делать типа JSON-справки в машиночитаемом формате.

Я имею в виду что в ближайший год, с учетом сего, могут появится совсем новые веяния. И Core придется забросить нафиг как устаревшую, даже не успев доделать.

Мы то, старперы, привыкли к стабильности. И мыслим категориями стабильности. А жизнь очень не стабильна...

Сделают WebAssembly Everywhere и все тут... И JS нафиг.

Главная проблема сейчас, почему этого не произошло -- поисковики. Но ведь это вопрос решаемый...
Отредактировано 17.10.2017 16:37 Shmj . Предыдущая версия . Еще …
Отредактировано 17.10.2017 16:01 Shmj . Предыдущая версия .
Re[14]: SQL Server CE -- как понять где проблема?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.10.17 16:37
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Есть вариант отказа от HTML как такового.


В пользу чего?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[15]: SQL Server CE -- как понять где проблема?
От: Shmj Ниоткуда  
Дата: 17.10.17 16:39
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Есть вариант отказа от HTML как такового.


AVK>В пользу чего?


Какой-нибудь WebAssembly Everywhere. Нафиг JS и все тут...

Вопрос с поисковиками решат -- разработают стандарт.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.