powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как сделать прослойку между гридом и DbContext?
51 сообщений из 51, показаны все 3 страниц
Как сделать прослойку между гридом и DbContext?
    #39580222
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть DbContext, он выдаёт грид. Я получаю View нужной мне таблицы
Код: c#
1.
2.
3.
4.
5.
...
var people  = DataBaseContext.People.ToList();
...
peopleView = new CollectionViewSource { Source = people}.View;
...

и уже peopleView является источником данных для DataGrid.
Пользователь что-то редактирует в этих строках, и как только строка оказывается отредактированной, у меня выполняется
Код: c#
1.
2.
3.
4.
private void DataList_DataInRowChanged(object sender, EventArgs e)
{
    DataBaseContext.SaveChanges();
}


Т.е. я не контролирую то, что ввёл пользователь. DBContext сразу себе берёт всё введённое и сохраняет.

Проблема выявляется с датой. СУБД у меня - SQLite. Пользователь вводит дату в одном формате, а сохраняться она должна в другом. Куда и как можно вписать прослойку, чтобы я мог полностью контролировать, что конкретно запишется в БД и в каком формате?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580308
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,
Тут много вариантов. Решать тебе:
1. Если десктоп(клиент-сервер), то прослойка в виде ОРМ обычно не делается. Просто перехват исключения и вывод на экран.
Если бизнес логика(БЛ) на сервере, то и отправка исключения с сервера. На клиенте только перехват КОДА ИСКЛЮЧЕНИЯ. Например констрейнт-ограничение по уникальности или ФОРМАТ ДАТЫ НЕ СООТВЕТСТВУЕТ ТИПУ ПОЛЯ В БД.
зы
В веб проектах и ОРМ делается промежуточный слой т.к. логик обычно не в БД а на АппСервере.
Не знаю насколько в шарпе умеет DbContext быть АппСервером в двухзвенке.

хорошо я согласенСУБД у меня - SQLite. Пользователь вводит дату в одном формате, а сохраняться она должна в другом.
если конкретно, то проверь, есть ли тип даты или ограничения в самой БД чтобы выдать наверх исключения и не сохранять так как не надо.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580313
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенСУБД у меня - SQLite
Значит Модель у тебя в базе.
Основное в Модели - это непротиворечивость данных.
Делай чтобы в базу с любого клиента нельзя было записать мусор(триггер, констрейнт, FK, PK, XP,...)
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580334
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я поясню:
пользователь пишет: 29 января. (вернее, он это может откуда-то скопировать и вставить строку в мой грид, либо использовать контрол, который выдаст ему дату в таком формате и пр.). Ему не нужен год, т.к всегда считается, что это текущий.
Значит, Он пишет 29.01, а в БД должна поступить инфа 29.01.2018.

Получается, что он пишет верную дату, а как её на лету скорректировать, чтобы в БД она записалась как '20180129' - не понятно.

Пока решение у меня созрело такое, чтобы в ячейку впихнуть на отображение свой MyDateViewControl. Надеюсь, это верное решение.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580339
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенПолучается, что он пишет верную дату, а как её на лету скорректировать, чтобы в БД она записалась как '20180129' - не понятно.

Пока решение у меня созрело такое, чтобы в ячейку впихнуть на отображение свой MyDateViewControl. Надеюсь, это верное решение.
Да. После того как все ошибочные будут отсеиваться в бд вы делаете чисто для удобства контрол, ГУИ для ввода.
Это может быть свой или готовый из сети кусок библотеки.
Лучше поищите что готовое прежле чем писать.
В крутом гриде уже есть колонка с типом дата.
Какой конкретно грид?
Моё imho в том что лучше иметь поле дата и там выбирать дату, чем иметь поле строка и потом конвертировать.
В крупных проектах могут делать myDataControl на все проекты сразу.
IMHO
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580509
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если текстовое поле связано со свойством типа DateTime, то при вводе некорректной она не будет передана в источник. Как по мне, лучше использовать контрол который ограничивает ввод даты по шаблону, так как с этими датами гемороя не оберешься 01/11/2012, это 11 января или 1 ноября?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580511
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesесли текстовое поле связано со свойством типа DateTime, то при вводе некорректной она не будет передана в источник. Как по мне, лучше использовать контрол который ограничивает ввод даты по шаблону, так как с этими датами гемороя не оберешься 01/11/2012, это 11 января или 1 ноября?
Или обычная валидация , в конце концов. Зачем тут какие-то прослойки?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580530
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesесли текстовое поле связано со свойством типа DateTime, то при вводе некорректной она не будет передана в источник. Как по мне, лучше использовать контрол который ограничивает ввод даты по шаблону, так как с этими датами гемороя не оберешься 01/11/2012, это 11 января или 1 ноября?
сверху в заголовке указано "2018" без возможности её изменения - в базу запрещено вносить любые даты за пределами этого года. Соответственно, пользователь работает только с месяцем и числом, без года. Поэтому дата "11 марта" - дата корректная. И если она не запишется в поле базы данных ("потому что не указан год") - это будет неверным поведением.

Это ж SQLite. Каждый файл посвящён отдельному году. Объединения годов в одном файле не будет по разным причинам, в т.ч. потому что SQLite не выдержит большого объёма данных и потому что пользователь хочет разные года сохранять в разные файлы - ему это удобно.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580535
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенЭто ж SQLite. Каждый файл посвящён отдельному году. Объединения годов в одном файле не будет по разным причинам, в т.ч. потому что SQLite не выдержит большого объёма данных и потому что пользователь хочет разные года сохранять в разные файлы - ему это удобно.
Подробнее. Мне кажется это полная ересь.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580536
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенсверху в заголовке указано "2018" без возможности её изменения - в базу запрещено вносить любые даты за пределами этого года.т.е. вы бизнес подстроили под базу?
Прикольно))
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580540
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенSQLite не выдержит большого объёма данныхвсе базы имеют максимум.
Для этого есть у всех есть штатные операции - выгрузить, архивировать, загрузить и т.д.
Держите с 31 на 1 января оба года, а потом в 2019 году выгрузите любой год.
Т.е. база тут ни при чем.
И текущий год устанавливают не из за базы как вы тут описали. По другим причинам.
...
11 марта пишите в базу. Просто такой контрол сложнее и везде на лбу должен висеть текущий год.
У меня в проекте, заказчик требовал чтобы в каждом окне висел год. Т.е. юзверь его мог сменить одним кликом.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580544
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глянул базу на ветке субд.
У чела база на 250 млн. Записей.
Поэтому проблему автора про базу и файлы базы я не понял. А про даты тут рассмотрели все варианты.
Удачи аффтару!
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580567
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,

понятно, что в SQLite нет типа DATETIME и Вы используете TEXT
но в модели-то можно использовать DateTime, как в следующем примере свойство DayOfBirth:

Код: 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.
/// <summary>
/// Represents a person.
/// </summary>
internal class Person
{
    /// <summary>
    /// Gets or sets the identifier.
    /// </summary>
    public int Id { get; set; }
 
    /// <summary>
    /// Gets or sets the name.
    /// </summary>
    public string Name { get; set; }
 
    /// <summary>
    /// Gets or sets the description.
    /// </summary>
    public string Description { get; set; }
 
    /// <summary>
    /// Gets or sets the day of birth.
    /// </summary>
    public DateTime DayOfBirth { get; set; }
 
    /// <summary>
    /// Gets or sets the picture.
    /// </summary>
    /// <remarks>Is a blob in the database.</remarks>
    public byte[] Picture { get; set; }
}


Код: c#
1.
2.
3.
4.
5.
6.
/// <summary>
/// The Entity Framework Database Context.
/// </summary>
public class PersonContext: DbContext
{
    internal DbSet<Person> People { get; set; }
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580570
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения пользователя:
Он создаёт новый файл, указывает "мероприятия за 2018 год". При создании в окне "визарда" выбирает "2018" -его не интересует 2017-й, 2019-й. В колонке "дата" его интересует только месяц-день и "вымораживает" постоянное повторение "2018", поскольку "и так ясно, о каком годе идёт речь, другого не дано". Пользователя вообще не волнуют предыдущие года, он их вообще удаляет, поэтому проблема стояла не в том, что "несколько лет не умещается в один файл". А вообще в другом:

Пользователь хочет вводить в ячейку "11 января". Но эта строка напрямую улетает в БД, что неверно. В самой "БД" тип указан date и записаться "11 января" должно в формате "20180111". Вопрос был в том, как реализовать прослойку, ибо DataGrid использует таблицу из DbContext в качестве источника и всё записанное в ячейках DataGrid сразу отправляется в DbContext.

Я не придумал ничего лучше, чем создать свой компонент, отображаемый в ячейке.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580574
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенОн создаёт новый файл, указывает "мероприятия за 2018 год".
он же не знает что там какой то файл или не файл?
Тебе как программисту выгодно чтобы способ хранения или физическая схема не была видна юзверю.
Так?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580575
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенОн создаёт новый файл, указывает "мероприятия за 2018 год"
У нас было так: Новый плановый ГОДОВОЙ период.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580577
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенпоэтому проблема стояла не в том, что "несколько лет не умещается в один файл". А вообще в другом:
сам привёл пример что у тебя SQLite
авторпотому что SQLite не выдержит большого объёма данных
это враньё.
Если бы не врал, то и разговора бы не было.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580578
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенЯ не придумал ничего лучше, чем создать свой компонент, отображаемый в ячейке.
по фоакту, без архитектуры тебе выше сказали ещё 3-4 варианта.
Хочешь скилы повышать - пробуй.
До свидос!
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580585
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123он же не знает что там какой то файл или не файл?
Тебе как программисту выгодно чтобы способ хранения или физическая схема не была видна юзверю.
Так?
Пользователь знает, что такое "экселевский" файл, "вордовский", и теперь знает, что такое "Мерпопревский" (от слова "Меропр", название программы). Есть "файл"-"открыть". Так что он очень хорошо понимает и знает, что такое файл и в одном файле он никогда не будет вести мероприятия за разные года.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580589
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123До свидос!
ну "досвидос", так "досвидос". Мне кажется, тебе показалось, что вопрос я задаю лично тебе и лично от тебя жду ответов. А ведь всё просто - если ты не хочешь отвечать или рассуждать на какую-то тему, можешь просто игнорировать. Лично я так всегда и делаю.

Решения я прочитал и принял к сведению, поэтому и пишу, что
хорошо я согласенпроблема сто яла

P.s. как всегда, благодарен пользователям Сон Веры Павловны и Roman Mejtes за ответы и наводящие вопросы.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580596
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенМне кажется, тебе показалось, что вопрос я задаю лично тебе и лично от тебя жду ответов
вот ведь странные. Если я сказал что досвидос, значит мне что то показалось?
Если врут в топике, я сразу так и говорю: "Вы соврали".
Инженеры и врачи, они знаете - такие))).
А игнор у вас или неигнор - мне абсолютно пофигу.
Тема то закрыта).
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580598
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенот слова "Меропр", название программы
))
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580611
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

так "досвидос" же. Разве нет?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580615
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенPetro123,
так "досвидос" же. Разве нет?
не флуди. Иди БД изучай.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580643
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,

мне кажется, что Вам будет полезно почитать http://www.sqlite.org/datatype3.html
указать-то Вы DATE можете, только на деле это совсем не DATE
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580646
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAхорошо я согласен,

мне кажется, что Вам будет полезно почитать http://www.sqlite.org/datatype3.html
указать-то Вы DATE можете, только на деле это совсем не DATE
да, это я понимаю. Ту страничку читал.
Я могу в поле "date" вписать всё, что угодно. Разница в том, что плагины нормально с этим работать не будут (TryParse не работает) - и результат будет таким, как на скриншоте. Да и хотелось бы просто дату хранить как дату. Чтобы можно было вычислять разницу и пр. без дополнительных последующих преобразований.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенЯ могу в поле "date" вписать всё, что угодно.
вам не доходит:
автор2.2. Дата и время Тип данных
SQLite не имеет класса хранения, отложенного для хранения дат и / или времени. Вместо этого встроенные функции даты и времени SQLite способны хранить даты и время как значения TEXT, REAL или INTEGER:

ТЕКСТ как строки ISO8601 («ГГГГ-ММ-ДД ЧЧ: ММ: SS.SSS»).
REAL, как число юлианских дней, число дней с полудня в Гринвиче 24 ноября 4714 года до н.э. согласно пролептическому григорианскому календарю.
INTEGER as Unix Time, количество секунд с 1970-01-01 00:00:00 UTC.
Приложения могут выбирать даты и время в любом из этих форматов и свободно конвертировать между форматами, используя встроенные функции даты и времени .
значит писать в базу вы должны в совместимом формате - «ГГГГ-ММ-ДД ЧЧ: ММ: SS.SSS»
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580680
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте контрол который будет из 2 текст боксов, месяц день, год не указывается и задайте шаблон , я бы оформил в контрол редактирования, тогда пользователь не сможет вводить год, только месяц и день. И ограничение будет не только в бизнес логике, но и в представлении, пользователь не сможет ввести то, что не предполагается логикой, но это не освобождает от проверки на уровне бизнес логики и операций

skyANA, ну в C# тоже DateTime это тоже просто ulong по факту.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580687
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

мне помнится, ты "о всё" говорил на предыдущей странице или что-то типа того.

Roman Mejtes,

Да, в итоге я в общем-то так в итоге и сделал - оформил свой контрол. Это действительно лучшее решение.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580691
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенмне помнится, ты "о всё" говорил на предыдущей странице или что-то типа того.
ты же тоже обещал)))) LOL
Я обещал что буду твои глупости подчёркивать:
"потому что SQLite не выдержит большого объёма", "Я могу в поле "date" вписать всё, что угодно".
Так что пиши ещё))
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580703
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123"Я могу в поле "date" вписать всё, что угодно"
С технической точки зрения - могу, данные будут успешно записаны.
Вот только это неправильно, для нормальной работы необходимо писать в строгом формате, не в том, в каком удобно пользователю. В связи с чем и создан пост.
SQLite не создан для хранения больших массивов данных. Для этого существуют клиент-серверные СУБД. Твой КЭП.
И это. Хорош флудить. Правда.
Ушёл, гордо хлопнув дверью раз:
Petro123До свидос!
Ушёл, гордо хлопнув дверью два
Petro123А игнор у вас или неигнор - мне абсолютно пофигу.
Тема то закрыта).
Продолжил флуд
Petro123не флуди.
продолжил ёрзать на стуле
Petro123Так что пиши ещё))
Посмотри в пример, как ведут общение нормальные адекватные взрослые люди - Roman Mejtes, skyANA, Сон Веры Павловны. Бери с них пример.

Модератора прошу тему закрыть. Вопрос решён.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580706
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенС технической точки зрения - могу, данные будут успешно записаны.
Вот только это неправильно, для нормальной работы необходимо писать в строгом формате, не в том, в каком удобно пользователю. В связи с чем и создан пост
ну дак с этим никто не спорит. Ты обиделся что я назвал твоей придумкой про слабость БД.
Ты ещё заказчику скажи, что год в глобальных переменных из за слабости БД .
хорошо я согласенSQLite не создан для хранения больших массивов данных. Для этого существуют клиент-серверные СУБД.
Мы же про твой проект говорим? А то некоторые подумают, что SQLite слабая база.
Один пугает тормозами, второй пугает слабой БД при 250 млн.записей.
Добро пожаловать в форум. Будет интересный топик - будем говорить.
Ты фигню сказал - и я опять пришёл).
Удачи!
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580715
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123SQLite слабая база.
ну-ну. Теперь у нас SQLite - база данных. Так мог сказать только человек, который слабо разбирается в предметной области.
Petro123250 млн.записей.
в excel тоже можно записать 250 млн. записей - по миллиону на каждую страницу и создать 250 страниц. И посмотри на позеленевшего пользователя, который будет пытаться работать с этим файлом на своём локальном компьютере.

И на тебя посмотрю, как ты заговоришь, когда тебе на офисном ноутбуке придётся выполнять запросы к БД под управлением SQLite объёмом хотя бы несколько миллионов записей.

В прочем, чего я тут очевидные вещи объясняю.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580718
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,
флудить на инженерные и IT темы я всегда готов)
хорошо я согласенну-ну. Теперь у нас SQLite - база данных. Так мог сказать только человек, который слабо разбирается в предметной области.
ниже скрин. Да ОНО в контексте форума база данных. Даже более - СУБД. Расшифровать буквы?
хорошо я согласенв excel тоже можно записать 250 млн. записей
Ещё раз - говори про СВОЙ проект.
У тебя сколько записей?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580723
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Да ОНО в контексте форума база данных. Даже более - СУБД. Расшифровать буквы?
Нет. SQLite - не база данных. B я очень надеюсь, ты сам для себя расшифруешь СУБД, а также выучишь мат.часть, исследовав разницу между БД и СУБД.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580725
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,
у меня в проекте на данной базе вся карта РФ прекрасно работает с такой штукой
Что такое DotSpatial?
DotSpatial - это библиотека географической информационной системы, написанная для .NET 4. Она позволяет разработчикам включать в свои приложения функции пространственных данных, анализа и отображения, а также вносить дополнения в GIS для сообщества. Д-р Дэн Эймс является менеджером проекта DotSpatial.

DotSpatial предоставляет элемент управления картой для .NET и несколько возможностей ГИС, включая:

Отображение карты в .NET Windows Forms или веб-приложении.
Открытые шейп-файлы, сетки, растры и изображения.
Отобразить символику и ярлыки
Репроект «на лету»
Манипулировать и отображать данные атрибута
Научный анализ
Чтение данных GPS

Так что не надо гнать на на данную БД.
Она хорошая).
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580726
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенНет. SQLite - не база данных.
значит ты буквоед. Такие бывают. Мне не интересно. Ещё что есть интересного?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580728
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да никто на неё не гонит. Я её выбрал, т.к. пользователю удобно работать с файлами, а не подключаться к серверу и данных не так много (и активность работы с ними не такая большаяя), чтобы была необходимость использования клиент-серверной архитектуры.

Вопрос-то вообще в другом был. Причём тут вообще болтовня о выборе СУБД?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580730
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенПричём тут вообще болтовня о выборе СУБД?
ну ты же писал:
"SQLite слабая база"
"ну-ну. Теперь у нас SQLite - база данных. Так мог сказать только человек, который слабо разбирается в предметной области"
Я поржал. А тебя наверно Мама всегда только по головке гладила. И ты в бутылку полез.
Бывает. Заканчивай.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580731
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesskyANA, ну в C# тоже DateTime это тоже просто ulong по факту.
Рекомендую Вам ссылку тоже глянуть. Разница гораздо значительнее.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580734
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123хорошо я согласенмне помнится, ты "о всё" говорил на предыдущей странице или что-то типа того.
Я обещал что буду твои глупости подчёркивать:
"Я могу в поле "date" вписать всё, что угодно".
И в чем тут глупость?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580735
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай, а ты не из тех, кто монитор называет компьютером, а системный блок процессором?
Во-первых, я не писал "SQLite слабая база". Такую дурь мог выкурить написать только ты.
При работе под SQLite с большим объёмом данных у пользователя клиентское приложение будет зависать и тормозить, задача работы с большими объёмами данных должна быть возложена на сервер. Я не завидую пользователям, которым придётся работать с программками, которые напишешь ты. "SQLite может обеспечить работу с базой в 250 млн записей!", - аргументировал Петя заказчику, а то, что ноуты не способны адекватно работать с таким объёмом данных до глянцевого мозга Пети не дошло и никогда не дойдёт.

Петя засрёт весь форум, но не признает своей некомпетентности.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580737
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нас ещё один спорщик появился)
хорошо я согласенВо-первых, я не писал "SQLite слабая база". Такую дурь мог выкурить написать только ты.
ты написал:
хорошо я согласенЭто ж SQLite. Каждый файл посвящён отдельному году. Объединения годов в одном файле не будет по разным причинам, в т.ч. потому что SQLite не выдержит большого объёма данных и потому что пользователь хочет разные года сохранять в разные файлы - ему это удобно
Вот я я только против красного возражал))
хорошо я согласенПри работе под SQLite с большим объёмом данных
ты у меня хрен флудить будешь.
В этом топике нет разговора о больших данных.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39580761
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что и требовалось доказать.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581548
Pu4koff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенПри работе под SQLite с большим объёмом данных у пользователя клиентское приложение будет зависать и тормозить
Ну, если плохо писать программу, то она будет зависать.
хорошо я согласензадача работы с большими объёмами данных должна быть возложена на сервер.
и тогда у такого же программиста, у которого загрузка из локальной БД вешает программу, клиент будет зависать в ожидании данных по сети от сервера.
хорошо я согласен"SQLite может обеспечить работу с базой в 250 млн записей!", - аргументировал Петя заказчику, а то, что ноуты не способны адекватно работать с таким объёмом данных до глянцевого мозга Пети не дошло и никогда не дойдёт.
типа sql server на таком ноуте волшебным образом летать будет, потому что там взрослый клиент-сервер и всё такое?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581561
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pu4koff,
Пускай в ветку бд зайдет. И там попробует повякать про плохую БД.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581775
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLite отличная локальная СУБД, но оптимизация у меня заняла много времени, проблема была не в индексах, а в случайном доступе на DVD и мелкие другие, в остальном проблем нет, работает всё быстро.
всё есть, план выполнения можно посмотреть, сжатие базы есть, все типы C# есть, ни каких монстров ставить не нужно.
из недостатков: Нет процедур, триггеров и прочей нямки, но далеко не всегда это нужно, транзакции есть, всё остальное нужно просто реализовать через файлы\инлайн запросы. я использовал базы размером не более 4гб, что очевидно, не самый большой размер для базы, но как мне кажется, справился бы и с большим размером без труда. На фоне MSSQL сервера SQLite и другие файловые локальные субд кажутся Давидом против Голиафа, сравнивать их просто неэтично.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581790
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
Меня убило что типа даты нет, но через API все для даты есть. А физически, пусть хоть в музыкальных нотах хранит).
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581798
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

что значит нет даты? дата в SQLite есть, физически это ulong как и в любом другом месте. Есть методы для работы с датами.
На уровне процессора на много быстрее и оптимальнее работать с датой как с числом. Но в базе есть тип даты и времени, с чего вы взяли, что его там нет?
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581819
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
По ссылке же.
Другая парадигма - класс хранения и тип данных. А не тип поля DDL date.
...
Рейтинг: 0 / 0
Как сделать прослойку между гридом и DbContext?
    #39581928
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesPetro123, что значит нет даты? дата в SQLite есть, физически это ulong как и в любом другом месте. Есть методы для работы с датами. На уровне процессора на много быстрее и оптимальнее работать с датой как с числом. Но в базе есть тип даты и времени, с чего вы взяли, что его там нет? Я выше ссылку давал: http://www.sqlite.org/datatype3.html Datatypes In SQLiteMost SQL database engines (every SQL database engine other than SQLite, as far as we know) uses static, rigid typing. With static typing, the datatype of a value is determined by its container - the particular column in which the value is stored. SQLite uses a more general dynamic type system. Date and Time DatatypeSQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:
    TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS"). REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar. INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
Applications can chose to store dates and times in any of these formats and freely convert between formats using the built-in date and time functions. Вообщем это совсем не тоже самое, что и статический тип DateTime в C#.
...
Рейтинг: 0 / 0
51 сообщений из 51, показаны все 3 страниц
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как сделать прослойку между гридом и DbContext?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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