powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Linq2SQL (by Microsoft) vs BLToolkit
12 сообщений из 37, страница 2 из 2
Linq2SQL (by Microsoft) vs BLToolkit
    #38300023
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНахлобуч, простите, а Вы что для доступа к данным используете?По ситуации. NHibernate, BLToolkit/LinqToDb
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300024
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КифирчикskyANA...Какую проблему Вы пытаетесь озвучить?
если при таком описании свойств, в коде поменять значение, то оно по идее не отобразится в контроле (если не повторить биндинг или не вызвать какой-нить Refresh).

чтоб это происходило, поле должно "извещать" что его изменили, и делается это через реализацию интерфейса INotifyPropertyChanged

Код: c#
1.
2.
3.
4.
5.
6.
7.
        public virtual event PropertyChangedEventHandler PropertyChanged = delegate { };

        public virtual void NotifyPropertyChanged(string name)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));
        }



а поле выглядит примерно так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        private string a;
        public string A
        {
            get
            {
                return a;
            }
            set
            {
                    a = value;
                    NotifyPropertyChanged("A");
            }
        }


Или я отстал от жизни?Нынче модно отделять View Model от Domain Model.
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300031
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучskyANAНахлобуч, простите, а Вы что для доступа к данным используете?По ситуации. NHibernate, BLToolkit/LinqToDbТак это всё обёртки над ADO.NET.
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300032
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EDUARD SAPOTSKI,
при том, что я буду ещё царапать мозг, как некоторые результаты прибиндить к таблицам

хотя брешу...
BLToolkit мэпит простые поля, но можно допилить руками
LinqToSql - аж три события вешает
Код: c#
1.
2.
3.
4.
5.
					this.OnPassType_GUIDChanging(value);
					this.SendPropertyChanging();
					this._PassType_GUID = value;
					this.SendPropertyChanged("PassType_GUID");
					this.OnPassType_GUIDChanged();


EntityFramework - простые поля
Код: c#
1.
public string Port_Name { get; set; }


также интересная табличка попалась.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Method                               Duration 
Hand coded (using a SqlDataReader)   47ms
Dapper ExecuteMapperQuery<Post>	     49ms
ServiceStack.OrmLite (QueryById)     50ms
PetaPoco                             52ms
BLToolkit                            80ms
SubSonic CodingHorror               107ms
NHibernate SQL                      104ms
Linq 2 SQL ExecuteQuery             181ms
Entity framework ExecuteStoreQuery  631ms
https://code.google.com/p/dapper-dot-net/
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300102
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кифирчика где реализация INotifyPorpertyChanged?
INPC руками - это долго и муторно. Автоматика рулит .
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300110
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВ баню.

У меня не бывает мук выбора инструментов.
Я бы не хвастал такой уверенностью. Умение выбирать подходящий инструмент для решение конкретной задачи всё еще полезно для нашей профессии. No silver bullet.
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300129
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вообще хочу вынести из БД сложную логику на уровень сервера приложения.
и там сравнительно сложный набор действий, у одного заказчика, туповатый сервер, оптимизировали только до 4х сек. Половина действий в ХП, то есть это быстрее чем "Hand coded".
Если с EntityFramewok это будет 4*11.... или нет, пусть даже 4*5 = 20 сек. Зачем мне такой ORM?
и не нужна мне тут ленивая подгрузка и фоновая синхронизация табличек сущностей ORM.
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300131
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кифирчиктакже интересная табличка попалась.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Method                               Duration 
Hand coded (using a SqlDataReader)   47ms
Dapper ExecuteMapperQuery<Post>	     49ms
ServiceStack.OrmLite (QueryById)     50ms
PetaPoco                             52ms
BLToolkit                            80ms
SubSonic CodingHorror               107ms
NHibernate SQL                      104ms
Linq 2 SQL ExecuteQuery             181ms
Entity framework ExecuteStoreQuery  631ms
https://code.google.com/p/dapper-dot-net/

Преобразования из обычного SQL-запроса - редкая для ORM задача. Это именно стихия Dapper и PetaPoco. Не стоит по ней выбирать инструмент, если это не единственная требуемая операция.
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300138
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorAntonariyВ баню.

У меня не бывает мук выбора инструментов.
Я бы не хвастал такой уверенностью. Умение выбирать подходящий инструмент для решение конкретной задачи всё еще полезно для нашей профессии. No silver bullet.
отсутствие мук не означает отсутствия выбора
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300139
IApple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA Выбор ORM-стратегии (.NET)
Неплохо написано. Япроцитирую некоторые утверждения.
авторORM предназначены решать эту проблему, добавляя слои различных абстракций поверх ADO.NET.
Таким образом ORM на самом деле "унутре" использують тот же ADO.NET, только сверху лисапед. Отсюда следствие: ORM - не может быть быстрее ADO.NET, если конечно ORM не использует полностью свои способы работы с базой данных.
авторORM предназначены решать эту проблему, добавляя слои различных абстракций поверх ADO.NET.
А нужны ли они ваабще ? Чем лучше объект имеющий, к примеру, 5 свойств, от объекта со свойством DataRow в котором эти же 5 свойств-полей ?
В комментариях среди всякого был неплохой вопрос:
авторПроблема не в изучении SQL и даже не в производительности. Я имею ввиду проблему архитектурного плана. Как максимально закрыть уже написанный код для изменений, иметь возможность добавлять новый функционал и расширять схему данных. Как избежать описания схемы дважды и более раз (в SQL виде и в определении классов) . И при всем этом не потерять в функциональности реляционного подхода. Если тупо втравлять SQL код в код ООП то получится спагетти. А точнее даже говнокод. ORM подход пытается решать эти проблемы.
Если тупо использовать типизированные датасеты студии, то там действительно весьма топорно реализовано. Определение типа таблицы запихнуто внутрь датасета, а адаптер к таблице хоть и отдельный, но при необходимости запихнуть одну и ту же таблицу в два различных датасета студия родит два описания одного и того же и создаст два разных адаптера об одном и том же.
Но это решаемо.
А вот о том, что авторORM подход пытается решать эти проблемы у меня сомнения. ORM их не решает, а просто прячет подальше под своим слоем, играя роль "интерпретатора" к слою данных и логике запросов там, где в ADO.NET был "компилятор".
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300196
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилSolYUtorпропущено...

Я бы не хвастал такой уверенностью. Умение выбирать подходящий инструмент для решение конкретной задачи всё еще полезно для нашей профессии. No silver bullet.
отсутствие мук не означает отсутствия выбора+1

have silver ammunition belt
...
Рейтинг: 0 / 0
Linq2SQL (by Microsoft) vs BLToolkit
    #38300394
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТак это всё обёртки над ADO.NET.ADO.NET -- единый (и единственный) API для доступа к данным в .NET. Все ORMы построены поверх этого API.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Linq2SQL (by Microsoft) vs BLToolkit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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