|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Есть объект Entity и такой же объект есть у меня. Но мой не приводится к Entity. Такое приведение возможно? Код: c# 1. 2. 3. 4. 5.
Приходится использовать свой способ получения данных из таблицы с преобразованием поля Null, а в Entity это поле является ключом и поэтому вызывается ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 21:20 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
либо Packet рекурсивно реализует IEnumerable<Packet>, либо пропущен yield, либо тут кто-то гонит ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 21:26 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
или может имелось ввиду Код: c# 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 21:27 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Shocker.Proили может имелось ввиду Код: c# 1.
? Спасибо. Ошибка исчезла. Но теперь следующий блок кода даёт ошибку, что "Не удается перечислить результаты запроса более одного раза" Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 21:44 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
NewIvanovecЕсть объект Entity и такой же объект есть у меня. Если "такой же" это просто "с такими же свойствами", то нет. Надо или дописать .Select(x => new { .... }) или использовать, например, automapper . ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 22:17 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthat, что мешает использовать исходный тип, если они одинаковые? я что то не понял... :D ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 23:14 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
NewIvanovecСпасибо. Ошибка исчезла. Но теперь следующий блок кода даёт ошибку, что "Не удается перечислить результаты запроса более одного раза" Написано же. Нельзя перечислять более одного раза. Значит, когда вы в дебаге смотрите, вы тупо ломаете работу кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 23:32 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Roman Mejtesfkthat, что мешает использовать исходный тип, если они одинаковые? я что то не понял... :D Типичный пример - многослойка, где, к примеру два одинаковых по структуре объекта - один - сущность БД, а другой - DTO. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 06:38 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthatRoman Mejtesfkthat, что мешает использовать исходный тип, если они одинаковые? я что то не понял... :D Типичный пример - многослойка, где, к примеру два одинаковых по структуре объекта - один - сущность БД, а другой - DTO.DTO и многослойку делают как раз при разных. А при одинаковых сущность = dto = web api = rest ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 07:19 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Petro123DTO и многослойку делают как раз при разных. Я имел в виду: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Объекты вроде как "одинаковые", но привести один к другому просто через type casting невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 08:50 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthat, Ок. Тогда вариант не делать 2 класса должен работать.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 08:59 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
hVosttNewIvanovecСпасибо. Ошибка исчезла. Но теперь следующий блок кода даёт ошибку, что "Не удается перечислить результаты запроса более одного раза" Написано же. Нельзя перечислять более одного раза. Значит, когда вы в дебаге смотрите, вы тупо ломаете работу кода. понял. спасибо. но ещё одна появилась :) " Недопустимая попытка вызвать Read при закрытом устройстве чтения. " ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:12 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:17 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Petro123Тогда вариант не делать 2 класса должен работать.... Может быть куча причин делать два класса, даже если они "одинаковые". Например, навскидку: 1) Изоляция слоев - не хотим, чтобы, к примеру, слой UI напрямую работал с объектами entity, которые описаны в слое data access. 2) К объектам могут быть прицеплены разные аттрибуты - например, объекты entity могут иметь аттрибуты связанные с ORM, а объекты DTO могут иметь аттрибуты связанные с сериализацией в тот же json или там xml, и мы не хотим мешать все это в одну кучу. 3) Мы хотим заложиться на то, что может быть объекты со временем станут не совсем одинаковые - в случае разных классов изменения будут при этом проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:38 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
NewIvanovec, Я тут подозреваю, что сама реализация DataManager.GetPackets кривая - это типичные грабли - IEnumerable внутри него возвращается изнутри конструкции типа "using() {}" - в итоге перечисление этого IEnumerable начинается уже после того, как его источник данных закрыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:52 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthat, Ну. На самом деле не куча, а практически 1 - делим на слои. Тогда п. 3 просто следствие п. 1 и одинаковы временно. А п. 2 сомнителен, т. к. атрибуты вроде прекрасно уживаются вместе. А в core вообще сериализация автоматически без всяких команд и атрибутов. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:52 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthatNewIvanovec, Я тут подозреваю, что сама реализация DataManager.GetPackets кривая - это типичные грабли - IEnumerable внутри него возвращается изнутри конструкции типа "using() {}" - в итоге перечисление этого IEnumerable начинается уже после того, как его источник данных закрыт.+1 Что за менеджер? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 09:55 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:07 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
NewIvanovec Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
разремуй toList ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:15 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
NewIvanovec, И возьми ОРМ. Что за извращения. Либо dataTable, dataSet. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:17 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Petro123атрибуты вроде прекрасно уживаются вместе Уживаются-то они вместе нормально, но впендюрить, например, в объект DAL кучу аттрибутов, которые не имеют к DAL никакого отношения - решение, имхо, не очень красивое. К тому же это, может повлечь надобность цеплять в DAL зависимость от каких-то сборок, которые опять-таки имеют отношение только к тому же UI. Petro123А в core вообще сериализация автоматически без всяких команд и атрибутов. Да она и до core была автоматической (в json или xml, допустим). Только что, если хотим, допустим, переименовать свойство при сериализации, или серилизовать только часть свойств или т.п. Не, ну в многослойке, условно говоря 1 -> 2 -> 3, всегда есть соблазн не дублировать объекты слоя 3 на слое 2, но все равно в конце-концов приходим к ситуации, когда объектов слоя 3 становится недостаточно, и приходится вводить какие-то дополнительные объекты в слое 2. В итоге рождается бардак, когда в одних местах слой 1, начинает напрямую использовать исходные объекты слоя 3, а в других объекты слоя 2. По мне, так лучше с самого начала пойти на некоторый оверхед и дополнительную работу и слои строго отделить друг от друга. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:20 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
Petro123, Судя по всему у него и есть ORM, только для чего-то SQL запрос напрямую выполняется текстом, вместо LINQ. Наличие string.Format наводит на мысль, что там пока что еще нет, но в будущем ожидается какой-нибудь sql-injection :-) И да, ToList или ToArray там, разумеется, необходим. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:27 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthatСудя по всему у него и есть ORM, только для чего-то SQL запрос напрямую выполняется текстом, вместо LINQ.ну, я как увидел select звезда from табле, так сразу и стоп кран сорвало))) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:33 |
|
Преобразование моего объекта к Entity
|
|||
---|---|---|---|
#18+
fkthatУживаются-то они вместе нормально, но впендюрить, например, в объект DAL кучу аттрибутов, которые не имеют к DAL никакого отношения - решение, имхо, не очень красивое. К тому же это, может повлечь надобность цеплять в DAL зависимость от каких-то сборок, которые опять-таки имеют отношение только к тому же UI.в Core DAL уже чисто условное. Это по факту POCO или обычные классы. Все упрощают и молодцы. Я просто за линейкой решений от простого к сложному. Если он пишет select звезда, то рано ему делить на сборки, слои, dll'ки. Потом поделит. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 10:39 |
|
|
start [/forum/topic.php?fid=20&fpage=25&tid=1399150]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 151ms |
0 / 0 |