powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Default значения полей
25 сообщений из 25, страница 1 из 1
Default значения полей
    #33326524
Alexander_UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли или будет ли когда-то в ADO возможность определить default значения полей для новой записи? Ведь нехорошо же закладывать присвоение этих значений в приложении? А если не присваивать, то до форма редактирования записи выглядит пустой и пользователь не имеет никакой возможности знать, что что-то там имеет Default значение. Это тоже не хорошо, IMHO. Кто как это решает?
...
Рейтинг: 0 / 0
Default значения полей
    #33329196
Фотография Sv219
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так значение по дефолту же в АДО есть, примерно так ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim myCol As DataColumn
    Dim myTable As New DataTable
 
    myCol = New DataColumn
    With myCol
       .DataType = System.Type.GetType("System.String")
       .DefaultValue = "Address"
       .Unique = False
    End With
    myTable.Columns.Add(myCol)
или я не правильно понял вопрос????
...
Рейтинг: 0 / 0
Default значения полей
    #33352991
Alexander_UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неправильно поняли. Я имел в виду реально установленные в БД значения полей.
Например
create table tblCustomer (
CustomerID INT not null,
Name VARCHAR(15) not null,
Gender BIT not null default 0,
Changed DATETIME not null default now(),
constraint PK_CUSTOMER primary key (CustomerID)
)
...
Поле Gender в этом примере имеет default значение 0, а поле Changed - now().
Как наилучшим образом реализовать интерфейс для редактирования указанных полей в новой записи этой таблицы?
1) Можно просто забыть про установки default в БД. При этом пользователь правда будет удивлен тому, то после сохранения записи эти поля изменились, хотя он их значения и не определял.
2) Можно заложить логику присвоения default в приложение. При этом в окне редактирования новой записи пользователь действительно увидет, что некоторые поля уже заполнены предположительными значениями, которые он может затем изменить. Но, у этого подхода есть минус - если по-каким то причинам в БД изменятся условия default, например
Gender BIT not null default 1,
или добавятся новые, то приложение либо будет по прежнему инициализировать Gender для новой записи нулем, либо, для новых default по прежнему не инициализировать эти поля указанными default значениями.
И наконец:
3) Если бы кто-то подсказал, как получать информацию из БД о default, то при создании новой записи приложение сразу бы инициализировало поля default значениями согласно БД. Вот в этом и состоит мой вопрос.
...
Рейтинг: 0 / 0
Default значения полей
    #33354254
Vadimek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно попробовать так :
Код: plaintext
1.
2.
3.
select COLUMN_NAME,COLUMN_DEFAULT 
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME=N'TableName' 
...
Рейтинг: 0 / 0
Default значения полей
    #33358097
Alexander_UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, вот... Но годится этот запрос не для каждой поддерживаемой ADO базы данных. Поэтому у меня и возник такой "крик души", о том, чтобы поддержка требуемой функциональности была заложена в ADO.
...
Рейтинг: 0 / 0
Default значения полей
    #33358231
Alexander_UA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно воспользоваться
recset := ADOConnection.ConnectionObject.OpenSchema(adSchemaColumns, ...)
но на том же MS SQL результат возвращается не для всех пользователей - включается работа системы прав. Но и не давать же права менеджера пользователю только для того, чтобы получить defaults ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Default значения полей
    #34341591
Серж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дак есть какое-либо штатное средство для решения этой проблемы или нет?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Default значения полей
    #36854502
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UP

Неужели в LINQ нет способа вставлять в nullable columns значения из default constraint сервера?
...
Рейтинг: 0 / 0
Default значения полей
    #36854524
veon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создал таблицу MySQL

Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE `Account` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `nickName` varchar(45) NOT NULL,
  `created` timestamp NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`)
)

создал по ней модель.

Как заставить ADO.Net не сетить timestamp в БД а прочитать его как и id?

В свойствах поля вижу только Default Value:(None),
Store Generated Pattern - похоже по описанию, но не работает
...
Рейтинг: 0 / 0
Default значения полей
    #36854743
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Default значения полей
    #36855562
veon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для Entity решение http://geeksharp.com/2010/05/27/ef4-bug-in-storegeneratedpattern-ssdl/

поле правильное но из-за бага оно не сетится, надо прописывать ручками
...
Рейтинг: 0 / 0
Default значения полей
    #36856348
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Using Default Values in LINQ to SQL

Всё хорошо, только не работает. Т.е.
Код: plaintext
IsDbGenerated=true
работает, только потом значение нельзя менять. А вот
Код: plaintext
AutoSync=AutoSync.OnInsert
не работает, тупой Linq суёт своё значение, хотя оно никому нафиг не упало.

Если верить форуму Мелкомягких, то нормального решения нет :(
http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/f5753fc9-89bd-4f9a-94d9-be616a8d9a14/

Всё юзают затычку вида
Код: plaintext
1.
2.
3.
4.
5.
6.
partial void OnCreated() 
{
        if (this.DateTimeCreated == null)
        {
               this.DateTimeCreated = DateTime.Now;
        }
}
...
Рейтинг: 0 / 0
Default значения полей
    #36858874
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал функцию для Link, которая инициализирует Default значения из системных табличек сервера. Если кому интересно, могу выложить. Работает даже для временных таблиц
...
Рейтинг: 0 / 0
Default значения полей
    #36859045
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_UAЕсть ли или будет ли когда-то в ADO возможность определить default значения полей для новой записи? Ведь нехорошо же закладывать присвоение этих значений в приложении? А если не присваивать, то до форма редактирования записи выглядит пустой и пользователь не имеет никакой возможности знать, что что-то там имеет Default значение. Это тоже не хорошо, IMHO. Кто как это решает?
Объясните мне, накой вообще дефолтные значения в БД? Ни безопасности, ни целостности ни производительности они не добавляют. ЗАЧЕМ их сначала прописывать в БД, а потом тянуть на ее клиента?
...
Рейтинг: 0 / 0
Default значения полей
    #36859374
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльЗАЧЕМ их сначала прописывать в БД, а потом тянуть на ее клиента?
У БД может быть несколько клиентов, причем не пересекающихся по логике и технологиям доступа.
...
Рейтинг: 0 / 0
Default значения полей
    #36859387
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУУ БД может быть несколько клиентов, причем не пересекающихся по логике и технологиям доступа.
А это "+" или "-"? Судя по ветке, для Linq2SQL это "-".

Приведите, пожалуйста, пример парочки атрибутов бизнес-сущности, нуждающихся в серверной дефолтной инициализации.
...
Рейтинг: 0 / 0
Default значения полей
    #36859589
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА это "+" или "-"? Судя по ветке, для Linq2SQL это "-".
Это однозначно плюс. А проблемы Linq to SQL - это её проблемы, но никак не СУБД.

КурдльПриведите, пожалуйста, пример парочки атрибутов бизнес-сущности, нуждающихся в серверной дефолтной инициализации.
Таблица Документы. Синхронизация с удалёнными площадками (merge или transaction репликация).
...
Рейтинг: 0 / 0
Default значения полей
    #36859609
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТаблица Документы. Синхронизация с удалёнными площадками (merge или transaction репликация).
А репликация силами СУБД, или клиента?

Я допускаю, что есть специфические случаи, когда они нужны. Но только не в ситуации, описанной автором ветки.
Зачем обращаться лишний раз к БД, чтобы вытянуть из нее какие-то значения, и без того известные разработчику клиента?
...
Рейтинг: 0 / 0
Default значения полей
    #36859745
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА репликация силами СУБД, или клиента?
Разумеется СУБД Ну и вопросы Вы задаёте. Гонять данные на промежуточный клиентский слой - проще самозастрелиться.
Во-вторых, про промежуточный слой, почитайте про организацию Publisher, Distributor , and Subscriber.

КурдльЯ допускаю, что есть специфические случаи, когда они нужны.
Вот об этом всегда нужно думать, прежде чем заявлять, что:

КурдльОбъясните мне, накой вообще дефолтные значения в БД? Ни безопасности, ни целостности ни производительности они не добавляют.

Идея понятна? На будущее: прежде чем что-то ляпнуть - подумайте.

КурдльЗачем обращаться лишний раз к БД, чтобы вытянуть из нее какие-то значения, и без того известные разработчику клиента?
Задача задаче рознь. Особенно, когда дело касается построение динамических форм с обозначенной схемой данной (различные конструкторы, а-ля как нам всё-время скринит навечно забаненый Сахват Юсифов). Задач много разных бывает. Вообщем, с ростом опыта Вы это поймёте :)
...
Рейтинг: 0 / 0
Default значения полей
    #36859795
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Мои утверждения и основаны на невдолбенном опыте разработки АС
Могу привести примеры, когда репликация силами СУБД невозможна или нецелесообразна.
Могу привести примеры, когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД.
В общем, много еще чему могу Вас научить. Ну и остальным посетителям форума - польза.
...
Рейтинг: 0 / 0
Default значения полей
    #36859821
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльМои утверждения и основаны на невдолбенном опыте разработки АС
Простите, это много или мало? :) Если много, то я бы так не сказал. Обычно человек с "невдолбенными" скиллами такие глупости не постит.

КурдльМогу привести примеры, когда репликация силами СУБД невозможна или нецелесообразна.
Зачем их приводить, я прекрасно знаю эти случаи. Особенно, если речь касается Embedded Databases.

КурдльМогу привести примеры, когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД.
Привидите. Учитывайте факт, что роль такого клиента - дистрибьюция данных. Следовательно, возможно безпроблемное подключение любого количества баз данных без вмешательство в код.
Так же, интересует гибкая настройка источников синхронизации (таблиц, хп, функций, вьюх и так далее) без перекомпиляции кода. Так же не забудьте дать мне инструмент на выбор - мержевание, транзакционная реплика и репликация снимков (снапшот). Опять же, никакой перекомпиляции кода. Ибо, например, очень удобно на снапшот посадить редкообновляемые ресурсы, такие как хп, функции, вьюшки, и иже.
Когда мне покажите такой софт - я реально преклонюсь пред Вами и скажу спасибо.

КурдльВ общем, много еще чему могу Вас научить. Ну и остальным посетителям форума - польза.
Давайте, учите :)
...
Рейтинг: 0 / 0
Default значения полей
    #36859878
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Простите, это много или мало? :) Если много, то я бы так не сказал. Обычно человек с "невдолбенными" скиллами такие глупости не постит.

Могу себе позволить в последний день перед отпуском :-P

МСУ
Привидите. Учитывайте факт, что роль такого клиента - дистрибьюция данных. Следовательно, возможно безпроблемное подключение любого количества баз данных без вмешательство в код.
Так же, интересует гибкая настройка источников синхронизации (таблиц, хп, функций, вьюх и так далее) без перекомпиляции кода. Так же не забудьте дать мне инструмент на выбор - мержевание, транзакционная реплика и репликация снимков (снапшот). Опять же, никакой перекомпиляции кода. Ибо, например, очень удобно на снапшот посадить редкообновляемые ресурсы, такие как хп, функции, вьюшки, и иже.
Когда мне покажите такой софт - я реально преклонюсь пред Вами и скажу спасибо.


Я обещал привести пример "когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД".
Могу это сделать с указанием наименований заказчиков, фамилиями должностных лиц, результатами испытаний и результатами проектов. Но пока повременю.
Скажу только, что в тех проектах безупречно отработала некое ПО .
...
Рейтинг: 0 / 0
Default значения полей
    #36859897
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльЯ обещал привести пример "когда интеграция данных эффективнее через стороннего "клиента", а не силами СУБД".

КурдльНо пока повременю.

Отлично, Курдль. Вы, как всегда, великолепный участник дискуссии. Браво.

Курдль ПО .
Ни о чём не говорит... Реклама красивая, но толку мало.

P.S. Есть задача - реплицировать сиквельные данные с различных серверов. На кой мне какие-то танцы с бубнами, если я просто и бесплатно воспользуюсь стредствами сиквела? У оракуля тоже с этим всё в порядке.
...
Рейтинг: 0 / 0
Default значения полей
    #36860107
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Вы мне не верите?!!
Я обещал привести и могу привести соотв. примеры. Но не бесплатно! Напр. за кружку пива в местечке, где вокруг нет подозрительных ушей!

МСУНи о чём не говорит... Реклама красивая, но толку мало.

P.S. Есть задача - реплицировать сиквельные данные с различных серверов. На кой мне какие-то танцы с бубнами, если я просто и бесплатно воспользуюсь стредствами сиквела? У оракуля тоже с этим всё в порядке.

Ключевое слово "просто и бесплатно". Все зависит от масштаба проекта.
Если лично Вы просто "воспользуетесь стредствами сиквела" - это одно.
А если для этого надо посадить 30 специалистов по сиквелу? Не проще ли купить спец. средство, пусть даже за парочку 10**5 гренландских, но справиться тремя мышкователями?
...
Рейтинг: 0 / 0
Default значения полей
    #36860460
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльМСУ, Вы мне не верите?!!

http://ru.wikipedia.org/wiki/ВераВе́ра — признание чего-нибудь истинным без предварительной фактической или логической проверки , единственно в силу внутреннего, субъективного непреложного убеждения, которое не нуждается для своего обоснования в доказательствах, хотя иногда и подыскивает их.

Итого: озвучивайте фактические или логические аргументы, а потом будем верить или не верить.

КурдльЯ обещал привести и могу привести соотв. примеры. Но не бесплатно! Напр. за кружку пива в местечке, где вокруг нет подозрительных ушей!
Вы мне назначаете свидание? :)

КурдльКлючевое слово "просто и бесплатно". Все зависит от масштаба проекта.
Но-но. Не думайте, что конфигурация репликации данных это-таки простая штука. Много уж подводных камней и доков придётся съесть, чтобы можно было бы так говорить.

КурдльЕсли лично Вы просто "воспользуетесь стредствами сиквела" - это одно.
А если для этого надо посадить 30 специалистов по сиквелу?
Зачем 30? Достаточно одного вменяемого DBA.

КурдльНе проще ли купить спец. средство, пусть даже за парочку 10**5 гренландских, но справиться тремя мышкователями?
Не проще. Во-вторых, уже есть сильные средства интеграции, такие как MS BizTalk Server, SSIS в какой-то степени. Зачем какой-то левый софт?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Default значения полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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