Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Не пятничная задача

713  1 2 все
AlexNek патриот10.06.19 14:28
AlexNek
NEW 10.06.19 14:28 
в ответ Murr 10.06.19 13:39
А после еще и информацию со сканера сливать.------Это авторматом.

Как это? Ладно может подключен как сетевое беспроводное устройство, но кто будет заливать данные в мою базу?


нужно сканировать дважды: код работника и код продукта
-----Ну и?

Ну и ломит, зачем два раза когда можно один


вариант, когда десктопное приложение не нужно устанавливать локально
------А так бывает?У меня только автоапдейты. Остальное - веб.

Ну так поэтому и было ASP.NET


Если хочешь с пользой - могу дать задачку..

Пока не надо, на этой неделе командировка. А еще хочу учет рабочего времени на WPF переписать, а то syncfusion задолбал уже своими ошибками.

Этот проект пока на "далекое" будущее. Должен еще "повариться".

#21 
Murr патриот10.06.19 15:27
Murr
NEW 10.06.19 15:27 
в ответ AlexNek 10.06.19 14:28

кто будет заливать данные в мою базу?

------

А чего там "заливать". ЕФ6 и поехали - все пишется и читается... даже бины генерятся на автомате... чуток связку подрихтуешь и готово...


зачем два раза когда можно один

-----

Чтоб меня это парило...

Меня годиков 5 назад попросили сделать импорт чужих документов.

Если бы Я там заморачивался с "зачем дава когда можно один" - писал бы до сих пор.

А так - оно уже 5 лет как работает, раширяется, пусть с матюками, но и опять работает...

Тут миграция намечается - поменяется формат импортируемого документа - надо будет еще переделывать...

А лишний раз просканить свое ИД - да фигня полная - навел, нажал и... все...

#22 
AlexNek патриот10.06.19 15:45
AlexNek
NEW 10.06.19 15:45 
в ответ Murr 10.06.19 15:27
ЕФ6 и поехали - все пишется и читается

Ой как я матюкался пока это Г. ставил для SQLite.

Вначале нужно было найти правильные бинарники для SQLite, затем в проект загрузить правильные пакеты.

Как просто динамически загрузить имя файла базы данных так и не нашел.

Как написать что то подобное, тоже надо искать

public void TestPrint2()
        {
            var ret = from classProperty in mDb.LabelingClassProperties
                      join labelingClass in mDb.LabelingClasses on classProperty.LabelingClassGuid equals labelingClass.LabelingClassGuid
                      select new { classProperty.LabelingClassGuid, classProperty.Value, labelingClass.Name };
            foreach (var result in ret)
            {
                Console.WriteLine("{0},{1} - {2}", result.LabelingClassGuid, result.Name, result.Value);
            }
        }

Насколько DevArt удобнее.


А лишний раз просканить свое ИД - да фигня полная

Ага, только еще карточку с собой таскать и печать её до того.

Потом из кармана вытащить, отсканить, положить обратно в карман и пр. Не, не хочу - просто неудобно. Для дяди еще можно сделать как проще, а для себя уж как удобнее будет.

#23 
Murr патриот10.06.19 17:11
Murr
NEW 10.06.19 17:11 
в ответ AlexNek 10.06.19 15:45

Не, не хочу

-----

Ну с этим спорить невозможно - не хочу - значит - не хочу.


Ой как я матюкался пока это Г. ставил для SQLite.

-----

Представляю, и представляю ОЧЕНЬ хорошо - совсем недавно тоже самое делал для ПпостгрееСкл.

А еще чуток ранее пытался скастить до Оракле 10...



Как просто динамически загрузить имя файла базы данных так и не нашел.

------

Не знаю как для СкЛите, но для МС СКЛ довольно просто:

public class TTranslationDB : DbContext
{

public static string ConnectionString = String.Empty;

public TTranslationDB()

: base(ConnectionString) //, DbCompiledModel.
{
}

public DbSet<TTranslation> Translations { get; set; }

}

Строку подключеня строишь любым подходящим способом и присваиваешь до вызова конструктора.

Да, плохо, но извлекать динамичаски довольно долго по времени.

У меня - читается из отдельной секции конфига, при этом автоматику Я не освоил - читаю как обычный ХМЛ...

#24 
AlexNek патриот10.06.19 19:13
AlexNek
NEW 10.06.19 19:13 
в ответ Murr 10.06.19 17:11
public class TTranslationDB : DbContext{public TTranslationDB()
: base(ConnectionString)

Тут есть маленький ньюанс, то что можно править находится в сгенерированном файле. И после следующей генерации всё будет как и до того.

Данный способ я посчитал неприемлемым. Пришлось извращаться c App.Config. Но время подключения для меня некритично.


А что там с LINQ вместе с FK, как оно тама делается?

#25 
Murr патриот10.06.19 21:32
Murr
NEW 10.06.19 21:32 
в ответ AlexNek 10.06.19 19:13

И после следующей генерации всё будет как и до того.

------

Не понял - зачем надо генерировать? Один раз написал - достаточно...


А что там с LINQ вместе с FK, как оно тама делается?

------

??? - поясни вопрос.

#26 
AlexNek патриот10.06.19 22:06
AlexNek
NEW 10.06.19 22:06 
в ответ Murr 10.06.19 21:32
Не понял - зачем надо генерировать? Один раз написал - достаточно...

поле в таблицу добавилось, что делать?


??? - поясни вопрос.

Как такую же функцию с EF написать? Времени пока не было разбираться. Обычный лоокап хотя бы с LINQ тока.

https://foren.germany.ru/showmessage.pl?Number=35299769&Bo...

#27 
Murr патриот11.06.19 01:43
Murr
11.06.19 01:43 
в ответ AlexNek 10.06.19 22:06

поле в таблицу добавилось, что делать?

------

Перегенеришь бины. Рукописная часть - остается.

Там либо партиал класс, либо стандартное наследование.


Обычный лоокап хотя бы с LINQ тока.

------

JOIN ?

Но можно и просто пары селектить.

#28 
Программист коренной житель11.06.19 13:07
NEW 11.06.19 13:07 
в ответ AlexNek 05.06.19 23:31

Оххх, ностальгия :) Моя первая работа была с такими сканерами. Да и свою дипломную работу я делал под Casio DT-X10 :)

#29 
AlexNek патриот16.06.19 00:37
AlexNek
NEW 16.06.19 00:37 
в ответ Murr 11.06.19 01:43
Перегенеришь бины. Рукописная часть - остается.

Так исходники же генерятся по новой. Нужно еще раз глянуть что точно генерится, уже не помню какие были проблемы. Помню только что есть конструктор без параметров с вызовом базового с именем строки соединения в конфиге.


JOIN ?

ну да так и делал с Devart-ом

var ret = from classProperty in mDb.LabelingClassProperties

join labelingClass in mDb.LabelingClasses on classProperty.LabelingClassGuid equals labelingClass.LabelingClassGuid

select new { classProperty.LabelingClassGuid, classProperty.Value, labelingClass.Name };


а с EF так не получается отчего-то


#30 
Murr патриот17.06.19 10:59
Murr
NEW 17.06.19 10:59 
в ответ AlexNek 16.06.19 00:37

Так исходники же генерятся по новой.

-----

Ну так не все же.

Если ты парвишь генерируемый файл - его, понятное дело, затрут при генерации нового.

Но ты же не глупый - напишешь другой файл с нужной тебе часть класса.

Если нужно - положишь вне папки генерируемых файлов.


Нужно еще раз глянуть что точно генерится

-----

У меня вот тоже есть желание поковырятся на этом уровне в DSL.

Только вот пары недель свободного времени никак не найду...



Помню только что есть конструктор без параметров с вызовом базового с именем строки соединения в конфиге.

------

Возмпжно, что придется и шаблоны править...


а с EF так не получается отчего-то

------

Так ЕФ это не делает.

ЕФ - генерит СКЛ под собой. Соответственно - может сгенерить выборку из двух джойнутых таблиц.

Сам этим пока не пользовался - не было нужно.


#31 
AlexNek патриот17.06.19 22:33
AlexNek
NEW 17.06.19 22:33 
в ответ Murr 17.06.19 10:59
ЕФ - генерит СКЛ под собой.

значить не зря не люблю ЕФ. Хотя была задача при которой все LINQ менялись на SQL, но там важны были наиболее оптимальные по скорости запросы. А SQL был на две печатных страницы.

Ну хорошо хоть не нужно больше пробовать.

#32 
Murr патриот18.06.19 10:50
Murr
NEW 18.06.19 10:50 
в ответ AlexNek 17.06.19 22:33
была задача при которой все LINQ менялись на SQL, но там важны были наиболее оптимальные по скорости запросы

-----

Почти всегда можно из ЛИНКа получить нужный запрос в СКЛ. Я, правда, настолько глубоко не влазил - там где не было понятного пути получения нужного кода дописал метод его генерации и успокоился.


Ну хорошо хоть не нужно больше пробовать.

-----

Пробовать - толку мало - там изменения от версии к версии... часто - существенные.

#33 
1 2 все