Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Вопрос. Типизированный и не типизированный набор данных.  [new]
qwerartem
Member

Откуда:
Сообщений: 7
В чем разница между типизированным набором данных и не типизированным набором данных? Где об этом можно почитать? Благодарю за помощь. Преподаватель задал создать приложение с не типизированным набором данных.
25 ноя 18, 20:09    [21744253]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
qwerartem,
Вот например две строки это 2 варианта:
string myOrder = (string)dsOrders.Tables["Orders"].Rows[0]["OrderID"];
string myOrder = dsOrders.Orders[0].OrderID;


вы спросите что он хочет более конкретно? ОРМ?
25 ноя 18, 21:03    [21744270]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
qwerartem,

https://csharp-station.com/Article/Index/StronglyTypedDatasets

У меня, правда, был бы интерес к "предельно" типизированному.

т.е. вместо
string orderID = dsOrders.Orders[0].OrderID;

было бы​
TOrderID orderID = dsOrders.Orders.FirstRow.OrderID;

Реализацию правда делал только для ключей.
26 ноя 18, 13:03    [21744839]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
было бы​
TOrderID orderID = dsOrders.Orders.FirstRow.OrderID;

Реализацию правда делал только для ключей.
потом пришел ОРМ например в виде EF и сделал это.
26 ноя 18, 13:30    [21744894]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

потом пришел ОРМ например в виде EF и сделал это.
-----
Увы, но не сделал. По крайней мере Я не видел.
Если видел - покажи, плс, где...
26 ноя 18, 13:40    [21744917]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat,

TOrderID orderID = контекст.Orders.FirstOrDefault()
?
Оно?
26 ноя 18, 13:50    [21744933]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

Оно?
-----
Не-а...
Непонятно почему ты посчитал значение типизированной строки значением типизированного поля...
26 ноя 18, 14:12    [21744981]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Приложение с нетипизированным набором данных:

using System;

class Program {
    static void Main() {
        Console.WriteLine(new dynamic[] { "foo", 42 });
    }
}
26 ноя 18, 14:17    [21744989]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
Petro123,

Оно?
-----
Не-а...
Непонятно почему ты посчитал значение типизированной строки значением типизированного поля...
переведи.
Ты лучше скажи чем тебе типизация ОРМ не устраивает.


fkthat,
Да. Очень хороший пример хотя я типизацию люблю.
26 ноя 18, 15:07    [21745066]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

переведи.
Ты лучше скажи чем тебе типизация ОРМ не устраивает.
-----
​Так тебе перевести или что-то пояснить?

TOrderID orderID = контекст.Orders.FirstOrDefault()
vs
TOrderID orderID = dsOrders.Orders.FirstRow.OrderID;

- FirstOrDefault() - относительно Orders дает объект из коллекции Orders или поставляет пустышку.

TOrderID, однако, не предполагает иметь строку, но ожидает ПК первой строки (или ехцептион если ее нет, но об этом ты не знаешь, не важно)

Чтобы было понятнее зачем такой изврат... хммм... назову две вещи:
- чтобы можно было ФК присвоить значение ПК, но не наоборот и ошибка была при компиляции
- чтобы поддерживать две версии проекта, в котором один ТОредерИД представляется 10-ти байтным целым, а в другом - 16-ти байтным целым...

И тоже самое желаю иметь по всем остальным полям.

НУ и как там с называнием ОРМа который это умеет?
26 ноя 18, 15:58    [21745117]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
или ехцептион если ее нет, но об этом ты не знаешь, не важно)
я и написал чтобы не было исключения. Можно и с ним написать.
PinkCat
чтобы можно было ФК присвоить значение ПК, но не наоборот и ошибка была при компиляции

Она и счас есть. Т. К. маппинг модели отслеживает.
PinkCat
чтобы поддерживать две версии проекта, в котором один ТОредерИД представляется 10-ти байтным целым, а в другом - 16-ти байтным целым...
бред.
Выше DAL или ОРМ вообще нет разговоров о байтах.
...
Как всегда, тебе надо то что никому не надо.
Меня ОРМ устраивает.
26 ноя 18, 16:06    [21745123]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

я и написал чтобы
-----
Ты написал просто ДРУГОЕ. То, что может сделать маппер.
И почему-то уперся и не рассматриваешь другие возможности.


маппинг модели отслеживает.
-----
Пыхх...
Ну ладно - вот текучка:
public void Load(string pBatchNo, string pOrderNo = null, string pItemNo = null)

Мне нужна ошибка при компиляции, если я вместо

string batchNo​

случайно подставлю

string orderNo​

Бо, в форме аккурат поиск по обоим полям.

Т.е. Я хочу
public void Load(TBatchNo pBatchNo, TOrderNo pOrderNo = null, TItemNo pItemNo = null)


вообще нет разговоров о байтах.
-----
Не проблема - опускаем Binary(n)
и делаем композитный ключ - целое, строка(40) еще целое и еще целое. Ну и чтобы весело стало - еще и поле моней-типа добавим.
Чтобы оно там не было, в коде Я хочу его видеть, как TOrderID тип.
26 ноя 18, 17:53    [21745249]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
Ты написал просто ДРУГОЕ. То, что может сделать маппер.
И почему-то уперся и не рассматриваешь другие возможности
ты из каменного века что цитировать не умеешь?
Если ты про райзе, то у First() будет райзе.

PinkCat
Мне нужна ошибка при компиляции, если я вместо

string batchNo​

случайно подставлю

string orderNo​
в ОРМ передают не строки а классы. Тогда и будет IDE ругань
26 ноя 18, 19:11    [21745336]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
Чтобы оно там не было,
эээээ батенька.
Говно бд не работает с ОРМ.
Первичный ключик, нормализация в меру, каскад удаление и все тогда заработает.
Если у тебя на кухне бардак, то и базе будет свалка.
Я даже для чилдрен табле один ко многим делаю первичный. Мне не тяжело).
26 ноя 18, 19:18    [21745350]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

Если ты про райзе, то у First() будет райзе.
-----
Не понял терминологию.
Мне надо, чтобы типизированными были не только объекты в коллекции, но и поля в объектах.
И при этом крайне желательно без большого оверхеда.


в ОРМ передают не строки а классы
-----
А ОРМ является единственным обработчиком данных? Может прогеры делают еще хоть что-то помимо подготовки классов и модели для ОРМа?
26 ноя 18, 19:20    [21745351]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

Говно бд не работает с ОРМ.
-----
Эквивалентно:
Говно ОРМ не работает с бд.


Первичный ключик,
-----
Ну так ты же не только первичный ключик просишь!
Ты таки просишь его быть:
- иникальным
- автоинкрементным
- целочисленного типа.
И как только, оставаясь в рамках нормальной БД - уникальный, но не автоинкрементный или целочисленный или композитный, эти требования нарушаются - кричишь что база - плохая. Хотя на деле просто ОРМ не справляется...

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

Аналогично непонятно - почему не использовать строго типизированное поле в объекте - куча бенефитов, начиная с того, что объект типа можно создавать фабрикой и он автоматом будет одного и тот же типа для всех 150-3000 вхождений...​


Мне не тяжело
-----
Мне - тоже... когда это делаю Я. Но как ты уже знаешь - это не всегда так...
26 ноя 18, 19:43    [21745366]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
не только объекты в коллекции, но и поля в объектах.
да. У поля Дата рождения тип поля дата.

PinkCat
ОРМ является единственным обработчиком данных?
а без ОРМ это просто параметр метода. Во всех ЯП в парам возраст можно подать минус 10, если ты перепутал параметры.
В рантайме проверяй и пей меньше.
26 ноя 18, 19:47    [21745378]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
уникальный, но не автоинкрементный
неправда. Ты сам можешь формировать ключик в хибере. В EF не знаю.
26 ноя 18, 19:50    [21745385]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
Хотя на деле просто ОРМ не справляется...
он не просит лишнего.
Составной ключ я сам не люблю, поэтому я не перфекционист.

PinkCat
Мне не тяжело
-----
Мне - тоже... когда это делаю Я. Но как ты уже знаешь - это не всегда так...

Всегда.
DbFirst использую и базу делаю руками.
26 ноя 18, 19:54    [21745393]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat,

Я тоже не любил ОРМ раньше. Но после java я понял что нет других вариантов. Это просто другое измерение.
Ты наверно и на декларативное программирование ополчился.
Когда в xml указано куда класс инжектить)).
Это Прогресс и эволюция))
Удачи!
26 ноя 18, 19:59    [21745401]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

и базу делаю руками.
-----
​И что же ты делаешь, когда базу тебе делать ниииизззяяя?


он не просит лишнего.
-----
Да ну? Ну и когда же он произведет типизированные поля?
Ведь так удобно - пишешь СКЛ - у тебя тип... пишешь БО - у тебя тип, причем еще и называется так же... пишешь ГУЙ - а у тебя - опять тип и опять так же называется...


если ты перепутал параметры...
-----
...Я хочу получить ошибку компиляции по несоответствию типов! Что-то в моем желании тебя смущает настолько, что не дает отклонится от требований ОРМов?


Ты наверно и на декларативное программирование ополчился.
-----
Я вообще ни на что не ополчался.
Просто у меня куча кода, который очень плох и с которым надо работать.
Первая итерация - вытаскивание из кучи кода частей и формирование объектов. Т.е. работала форма с 40 ДатаТабле - будет 40 разных типизированных объектов, агрегирующих или наследуемых от ДатаТабле. Но помимо этого мне еще хочется, чтобы поля в строках были не просто -стринг, инт, децимал - но были тоже типизированы - ибо искать ошибки подстановок, особенно если код заумный - проблемно...
Особенно неудобно когда уже поработал с предельно типизированными версиями.
26 ноя 18, 20:46    [21745423]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

да. У поля Дата рождения тип поля дата.
-----
Не-а...
У поля Дата рождения тип поля ТДатаРождения​.
И, обязательно, защита от присвоения просто даты или ТДатаСмерти, но с допуском присвоения ТДатаРождения из ТСвидетельсво_о_Рождении.
Ну не хочу Я помнить куда какую дату можно поместить...
26 ноя 18, 20:51    [21745427]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
Ну не хочу Я помнить куда какую дату можно поместить
может это старость?)
Я считаю что это и есть программирование:
- нажал кнопу: "построить классы по базе".
- пишем что дату рождения из контрола ГУИ передать в данное поле.
..
А вы не хотите помнить))).
27 ноя 18, 07:23    [21745650]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
PinkCat
Я вообще ни на что не ополчался.
вы не ответили.
Чтобы иметь мнение о новых средствах разработки, нужно их пробовать.
Другого не дано.
Заводите тему - как переработать старый легаси код.
И пробуете предложения.
Нужно не боятся работать.
Удачи!
27 ноя 18, 07:27    [21745652]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос. Типизированный и не типизированный набор данных.  [new]
PinkCat
Member [заблокирован]

Откуда:
Сообщений: 2541
Petro123,

может это старость?)
-----
Возможно. Но скорее - древность...
Бо, по законам страны в которой Я родился Я уже должен быть пенсионером...
Это не мешает понимать проблемы и находить решения.
Но - да, уже медленнее...


нажал кнопу ... пишем что
-----
Вообще-то, в конторке где Я работал до этого, по нажатию кнопки строилось готовое к деплойменту приложение.
Единственное, что не делали - не встраивали в Студию. Но это Я в позапрошлом году исправил...


нужно их пробовать.
-----
Или разрабатывать.
Именно по этому мне не хватает типизированных полей - не справляются нынешние ОРМы...


Нужно не боятся работать.
-----
??? - Я не живу для того чтобы работать... Я, таки, зарабатываю, чтобы жить... и много мне не надо.
27 ноя 18, 11:50    [21745869]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить