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

Миграция .Net Framework => .Net Core

1848  1 2 3 все
Срыв покровов патриот07.08.23 14:26
07.08.23 14:26 

Есть у нас приложение, разработку которого мы начали году в 2017

Состоит из 2 частей: Веб-приложение на и Бэкэнд (Windows Service, На схеме это ServiceHost)

между собой Веб-приложение и ServiceHost общаются по WCF плюс он еще принимает и отправляет данные по WCF третьим лицам


Основные требования заказчика выполнены и собрались мы его мигрировать на .Net #7.
Первые препятствия были поднять Windows сервис на .Net Core и WCF сервис - тут вроде разобрались

Потом споткнулись об отсутствие Workflow Foundation под Core, нашли вроде порт от энтузиастов, но там во-первых не полная поддержка (нет графического редактора Workflows), во-вторых у нас там кастомизировано слегка, так что пришлось эту идею отбросить и мигрировать только веб-проложение.


Но тут челлендж в том, что все остальное должно остаться .Net Framework(то есть веб на .Net #7 долен референцировать Persistence на .Net Framework 4.X, что само по себе вроде работает).
И сейчас боремся с тем, чтобы веб-приложние дружило с Persistence и его зависимостями(Entity Framework + Oracle.ManagedDataAccess)
Проблема в том, что в старом приложении был web.config, в котором мы говорили EF, что он должен работать с драйвером Оракла.

<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

<entityFramework>
<providers>
<provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>
</entityFramework>

<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>


В Net.Core ни веб ни эпп.конфига нет.
В общем или мы тупые или этот проект превращается в легаси.


#1 
Срыв покровов патриот07.08.23 14:27
NEW 07.08.23 14:27 
в ответ Срыв покровов 07.08.23 14:26

#2 
AlexNek патриот07.08.23 18:10
AlexNek
NEW 07.08.23 18:10 
в ответ Срыв покровов 07.08.23 14:26

Не переживайте во всём можно разобраться, только нужно время

А в чём проблема с ораклом? Работает без проблем, строка соединения в appsettings.json


Где то примерно так

 {
    "AppSettings": {
        "IsSqlite": false,
        "ConnectionString": "Host=myhost; user id=myuser; database=mydb;",
        "DbPassword": "<set value into secrets.json",
    },
</set>
            services.AddDbContext<AppDbContext>(
                optionsBuilder =>
                {
                    {
                        optionsBuilder.UseOraclel($"password={appSettings.DbPassword};{appSettings.ConnectionString}");
                        optionsBuilder.EnableSensitiveDataLogging().LogTo(l => Debug.WriteLine(l));
                        optionsBuilder.EnableDetailedErrors(true);
                        optionsBuilder.LogTo(l => Debug.WriteLine(l));
                    }
                }, ServiceLifetime.Transient);
А зачем WCF затащили?
#3 
AlexNek патриот07.08.23 18:13
AlexNek
NEW 07.08.23 18:13 
в ответ Срыв покровов 07.08.23 14:27

А отчего так? Не видел еще что бы так делали смущ

REST Api выдает что нужно из ДБ, а морда общается с АПИ

#4 
AlexNek патриот07.08.23 18:35
AlexNek
NEW 07.08.23 18:35 
в ответ Срыв покровов 07.08.23 14:27
Срыв покровов патриот07.08.23 21:10
NEW 07.08.23 21:10 
в ответ AlexNek 07.08.23 18:13
отчего так? Не видел еще что бы так делали смущ
REST Api выдает что нужно из ДБ, а морда общается с АПИ

не вижу смысла общаться контроллерам из ASP.Net MVC с базой данных через посредника в лице бэкэнда.


И почему WCF(Soap), а не Rest - в .Net он гораздо лучше (был) интегрирован.

#6 
AlexNek патриот07.08.23 22:25
AlexNek
NEW 07.08.23 22:25 
в ответ Срыв покровов 07.08.23 21:10
в .Net он гораздо лучше (был) интегрирован

Вероятно ударение на был. Для меня это какая то старая рухлядь.

https://learn.microsoft.com/ru-ru/dotnet/architecture/grpc...


не вижу смысла общаться контроллерам из ASP.Net MVC с базой данных

А в чём тогда смысл?

https://en.wikipedia.org/wiki/ASP.NET_MVC - It is no longer in active development. В этом?

#7 
Срыв покровов патриот07.08.23 23:36
NEW 07.08.23 23:36 
в ответ AlexNek 07.08.23 22:25

Насчёт gRPC надо почитать, спасибо.

Но моя цель сейчас это миграция малой кровью.

WCF меня всем устраивает.

#8 
Срыв покровов патриот07.08.23 23:39
NEW 07.08.23 23:39 
в ответ AlexNek 07.08.23 22:25, Последний раз изменено 07.08.23 23:40 (Срыв покровов)

да, ASP.net MVC больше не обновляется, поэтому и рассматривается вариант обновления проекта WebApplication на ASP.net Core. Хотя сильно много нового там и нет.

#9 
alex445 коренной житель08.08.23 06:57
08.08.23 06:57 
в ответ Срыв покровов 07.08.23 14:26, Последний раз изменено 08.08.23 07:03 (alex445)

Как заставили работать WCF на дотнете 5+? Вроде, там кроме какой-то замены, пилимой командой энтузиастов, не было? Мы у себя отказались.


Веб конфигов в дотнете 5+ нет - теперь всё в джейсоне хранится. Но суть та же - та же строка подключения.


Не знаю, как у вас общаются между собой приложения между дотнет 4- и 5+ (через какие-то независимые схемы обмена данными, типа REST?), но если код написан на 4- без задействования либ, зависящих от 4-, то он без изменений переносится в 5+. У нас надо какое-то время в проекте держать и версии 4-, и версии 5+. Для этого мы в проекты 5+ добавляет ссылки на исходные файлы (add as link) 4-. А ещё раньше часть либ на .NET Standard переводилась (зачастую тоже через add as link).


По букварям по миграциям прошлись?

https://learn.microsoft.com/en-us/dotnet/core/porting/

https://learn.microsoft.com/en-us/aspnet/core/migration/pr...

https://learn.microsoft.com/en-us/dotnet/architecture/blaz...


Там ещё надо внимательным быть при выборе миграции на какую 5+ версию. 5, 6 и 7 между собой немного отличаются, а 5 и 6 - довольно таки много. И может статься (т.е. я не уверен), что сразу мигрировать на 7 не получится - придётся в некоторых местах пройти все миграции последовательно: 4 - 5 - 6 - 7.

#10 
alex445 коренной житель08.08.23 07:06
NEW 08.08.23 07:06 
в ответ Срыв покровов 07.08.23 14:27, Последний раз изменено 08.08.23 07:07 (alex445)

У нас тоже есть слой Workflows, но по мне это хрень какая-то, если приложение не прямо мегамонструозное. При анализе кода заметил, что часть работы, которая писалась в слое Workflows, также присутствовала и в бизнес логике. Т.е. по сути пофиг было, где эту логику писать, а лишний слой лишь усложнял понимание. Хотя, может так стало после многочисленных переписываний кода (нам досталась версия возрастом лет 15 после минимум двух команд).

#11 
alex445 коренной житель08.08.23 07:10
08.08.23 07:10 
в ответ Срыв покровов 07.08.23 14:26, Последний раз изменено 08.08.23 07:42 (alex445)
В общем или мы тупые или этот проект превращается в легаси.

Вы - тупые легаси, старпёры и замшелые динозавры. Переходите на MAUI и Blazor, пока вас не стёрла с лица земли молодая шпана. )))


Всё это дерьмо упрощается до



если использовать Blazor и MAUI. Т.е. стрелочек от бизнеса и далее к клиентам может быть максимум по 2.

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

#12 
Срыв покровов патриот08.08.23 09:15
NEW 08.08.23 09:15 
в ответ AlexNek 07.08.23 18:10
  services.AddDbContext<AppDbContext>(
                optionsBuilder =>
                {
                    {
                        optionsBuilder.UseOraclel($"password={appSettings.DbPassword};{appSettings.ConnectionString}");
                        optionsBuilder.EnableSensitiveDataLogging().LogTo(l => Debug.WriteLine(l));
                        optionsBuilder.EnableDetailedErrors(true);
                        optionsBuilder.LogTo(l => Debug.WriteLine(l));
                    }
                }, ServiceLifetime.Transient);

Функция AddDbContext это часть EntityFrameworkCore
а мне нужно оставить EntityFramework 6, чтобы работал ServiceHost и все остальное

#13 
Срыв покровов патриот08.08.23 09:18
NEW 08.08.23 09:18 
в ответ alex445 08.08.23 07:10
Переходите на MAUI и Blazor, пока вас не стёрла с лица земли

Алёша, переходи на клинское
водка на тебя плохо действует

#14 
Срыв покровов патриот08.08.23 09:22
08.08.23 09:22 
в ответ alex445 08.08.23 06:57
Как заставили работать WCF на дотнете 5+? Вроде, там кроме какой-то замены, пилимой командой энтузиастов, не было? Мы у себя отказались.

https://github.com/CoreWCF

есть ограничения, не все байндинги реализованы, не нашел возможности поднимать несколько сервисов на разных портах, но вроде работает

Веб конфигов в дотнете 5+ нет - теперь всё в джейсоне хранится. Но суть та же - та же строка подключениястрока подключения - фигня

вот как сказать ЕФ, чтобы он работал с драйвером оракла - не пойму

#15 
Murr патриот08.08.23 10:04
Murr
NEW 08.08.23 10:04 
в ответ Срыв покровов 08.08.23 09:22

как сказать ЕФ, чтобы он работал с драйвером оракла

------

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

Детали сейчас не скажу - давно делал.

#16 
alex445 коренной житель08.08.23 11:03
NEW 08.08.23 11:03 
в ответ Срыв покровов 08.08.23 09:22, Последний раз изменено 08.08.23 11:11 (alex445)
https://github.com/CoreWCF

Это коммьюнити проджект. Со всеми вытекающими. Официально МС забила на WCF.


есть ограничения, не все байндинги реализованы

Я это ещё год с лишним назад смотрел, и тогда тоже было "не все байндинги реализованы". Прошёл год с лишним, а оно всё ещё "не все...", и нет гарантий, что будут все. МС педалит свой СигналР, и хотя в начале говорили, что не на замену, но чем дальше, тем больше похоже на замену.

https://www.reddit.com/r/csharp/comments/whz0zk/replacing_...


Простой проект на WCF (см. пример в первой ссылке на блог коммьюнити) и на SignalR по объёму почти равны, но в примере WCF лишь код для самой WCF, без обвязки в виде клиента, а в примере SignalR - со всей обвязкой. Вот ещё букварь с примером на СигналР.

#17 
alex445 коренной житель08.08.23 11:18
NEW 08.08.23 11:18 
в ответ alex445 08.08.23 11:03, Последний раз изменено 08.08.23 11:21 (alex445)

Вообще, желание повязать Дотнет 4- и 5+ хреновое. По букварям с миграциями там для неподдерживаемых технологий, коих не так уж мало, просто стоит "побрейтесь". В лучшем случае - "вот вам коммьюнити проект, ждите реализации нужных вам фич, или реализуйте сами".


Многие проблемы решает добавление либы Microsoft.Windows.Compatibility.

Старые сторонние либы можно заменить аналогами (например, логгер log4net на что-то актуальное).

Про WCF уже сказали.

System.EnterpriseServices (COM+) - нет.

Тут ещё. Для WWF предлагается ещё один коммьюнити проект.

#18 
Срыв покровов патриот08.08.23 12:56
NEW 08.08.23 12:56 
в ответ alex445 08.08.23 11:18
Вообще, желание повязать Дотнет 4- и 5+ хреновое.

или так, или все переделывать. Такое заказчику не продашь.

Для WWF предлагается ещё один коммьюнити проект.

спасибо, кэп.

#19 
AlexNek патриот08.08.23 17:49
AlexNek
NEW 08.08.23 17:49 
в ответ Срыв покровов 08.08.23 09:15

Получается что Repository pattern не пользуете, предложение напрямую к базе обращается? Брр.

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

https://learn.microsoft.com/en-us/aspnet/core/data/entity-...

#20 
AlexNek патриот08.08.23 18:08
AlexNek
NEW 08.08.23 18:08 
в ответ Срыв покровов 08.08.23 12:56
или так, или все переделывать. Такое заказчику не продашь.

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


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

https://demos.telerik.com/blazor-ui/grid/overview

https://demos.telerik.com/blazor-ui/scheduler/overview - драг дроп очень удобный.

Хотя да, для некоторых приложений он не подходил, с .нет 8 некоторые ограничения должны уйти.

Теперь можно будет для каждой страницы указывать работать с ней как "сервер" или как "клиент". Причем если нужные либы не подгружены, то может пользоваться сервер, а после погрузки клиент/васм


Фактически из за этого пришлось пользовать ангуляр в одном из проектов, очень уж долго было первичное время отклика.

#21 
Срыв покровов патриот08.08.23 19:45
NEW 08.08.23 19:45 
в ответ AlexNek 08.08.23 18:08

причем тут вообще блэйзор/мауи или еще что-то? Я же пишу, что Workflow Foundation не мигрируется на новые версии. От этого надо плясать.
и в смысле опять завалится? Ничего не валилось.

#22 
Срыв покровов патриот08.08.23 19:47
NEW 08.08.23 19:47 
в ответ AlexNek 08.08.23 17:49
Получается что Repository pattern не пользуете, предложение напрямую к базе обращается? Брр.

Схему видел?

Вот ту вроде готовый пример есть, там они контекст сервисом сделали

Без оракла каждый может ((

#23 
AlexNek патриот08.08.23 22:20
AlexNek
NEW 08.08.23 22:20 
в ответ Срыв покровов 08.08.23 19:47
Схему видел?

И что именно там нужно было увидеть?


Без оракла каждый может

Ну можно еще через нет стандарт попробовать.

https://github.com/dedpichto/ag.DbData.Oracle

https://www.hanselman.com/blog/referencing-net-standard-as...


Хотя никак не доходят до меня все эти мучения. Есть у меня АПИ, как хочу так и делаю, есть вызовы АПИ - тоже как хочу так и делаю или нет4 или нет6.

#24 
AlexNek патриот08.08.23 22:24
AlexNek
NEW 08.08.23 22:24 
в ответ Срыв покровов 08.08.23 19:45
что Workflow Foundation не мигрируется на новые версии.

https://github.com/UiPath/CoreWF


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

#25 
Срыв покровов патриот08.08.23 23:18
NEW 08.08.23 23:18 
в ответ AlexNek 08.08.23 22:24

возможность графического представления процессов. К сожалению их достаточно накопилось.

#26 
Срыв покровов патриот08.08.23 23:23
NEW 08.08.23 23:23 
в ответ AlexNek 08.08.23 22:20
И что именно там нужно было увидеть?

увидеть, где

предложение напрямую к базе обращается


Ну можно еще через нет стандарт попробовать.
https://github.com/dedpichto/ag.DbData.Oracle

Не похоже, чтобы это был драйвер оракла для EF.

#27 
Срыв покровов патриот08.08.23 23:24
NEW 08.08.23 23:24 
в ответ AlexNek 08.08.23 22:20
Хотя никак не доходят до меня все эти мучения. Есть у меня АПИ, как хочу так и делаю, есть вызовы АПИ - тоже как хочу так и делаю или нет4 или нет6.

да проблема вообще не в АПИ

Если под АПИ ты понимаешь коммуникацию между WebApp и ServiceHost.

#28 
Срыв покровов патриот09.08.23 14:24
NEW 09.08.23 14:24 
в ответ Срыв покровов 08.08.23 23:24

в общем объяснить ЕФ, что нужно использовать драйвер оракла, у меня получилось
но при попытке доступа к ДБ вылетает ошибка


System.TypeLoadException: 'Could not load type 'System.Security.Principal.WindowsImpersonationContext'
from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.'
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPRThreadFunc(Object state)
at System.Threading.QueueUserWorkItemCallback.Execute() in /_/src/libraries/System.Private.CoreLib/src/System/Threading/ThreadPoolWorkQueue.cs:line 1220
at System.Threading.ThreadPoolWorkQueue.Dispatch() in /_/src/libraries/System.Private.CoreLib/src/System/Threading/ThreadPoolWorkQueue.cs:line 924
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() in /_/src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WorkerThread.cs:line 77

в нет 7 этого класса конечно нет
и вообще любопытно, для чего оно понадобилось ораклу

#29 
alex445 коренной житель09.08.23 17:14
NEW 09.08.23 17:14 
в ответ Срыв покровов 09.08.23 14:24, Последний раз изменено 09.08.23 17:15 (alex445)

Вроде, со всеми БД работа идёт через провайдеры баз данных? Обычно сама МС или кто сторонний их пишет - к ним все вопросы, чего не обновляют. Толку пытаться самому в одного это вытащить, если эти штуки пишут команды шестизначных помидоров с семизначными опционами?

#30 
AlexNek патриот09.08.23 17:30
AlexNek
NEW 09.08.23 17:30 
в ответ Срыв покровов 08.08.23 19:45
и в смысле опять завалится?

Миграцию то зачем начали?

#31 
AlexNek патриот09.08.23 17:30
AlexNek
NEW 09.08.23 17:30 
в ответ Срыв покровов 08.08.23 23:18
возможность графического представления процессов.


Что то типа этого?

https://blazor.syncfusion.com/demos/diagramcomponent/flowchart?theme=bootstrap5

#32 
AlexNek патриот09.08.23 17:36
AlexNek
NEW 09.08.23 17:36 
в ответ Срыв покровов 08.08.23 23:23
увидеть, где

Ну там 3 части приложения к ораклу зафигачены.


был драйвер оракла для EF

А что для EF нужен спец. драйвер?

Всегда был DevArt и никогда ни о чём не заморачивались смущ

#33 
AlexNek патриот09.08.23 17:41
AlexNek
NEW 09.08.23 17:41 
в ответ Срыв покровов 08.08.23 23:24

Зелененький цвет - АПИ

#34 
Срыв покровов патриот10.08.23 08:27
NEW 10.08.23 08:27 
в ответ AlexNek 09.08.23 17:30
Миграцию то зачем начали?

хотели перейти в .net Core с новым свистелками и переделками

#35 
Срыв покровов патриот10.08.23 08:29
NEW 10.08.23 08:29 
в ответ AlexNek 09.08.23 17:30, Последний раз изменено 10.08.23 08:30 (Срыв покровов)
Что то типа этого?
https://blazor.syncfusion.com/demos/diagramcomponent/flowchart?theme=bootstrap5

Ты не понял. Наше приложение не даёт пользователю возможность моделировать процессы. Процессы работают внутри приложения - обрабатывают данные.



#36 
Срыв покровов патриот10.08.23 08:33
NEW 10.08.23 08:33 
в ответ AlexNek 09.08.23 17:36
Ну там 3 части приложения к ораклу зафигачены.

вообще-то две. Но вообще ты прав, Workflow по-хорошему не должен напрямую вызывать функции из persistence


Зачем DevArt, когда есть бесплатный драйвер напрямую от производителя?

#37 
alex445 коренной житель10.08.23 10:57
NEW 10.08.23 10:57 
в ответ Срыв покровов 10.08.23 08:29
AlexNek патриот10.08.23 19:25
AlexNek
NEW 10.08.23 19:25 
в ответ Срыв покровов 10.08.23 08:27
хотели перейти в .net Core с новым свистелками и переделками

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

#39 
AlexNek патриот10.08.23 19:27
AlexNek
NEW 10.08.23 19:27 
в ответ Срыв покровов 10.08.23 08:29
Наше приложение не даёт пользователю возможность моделировать процессы

А как они тогда появляются и где хранятся? Всё через код? Просто видео про WF смотрел, там они усё рисуют.

#40 
AlexNek патриот10.08.23 19:31
AlexNek
NEW 10.08.23 19:31 
в ответ Срыв покровов 10.08.23 08:33
вообще-то две

три линии, а третья тогда что?


Зачем DevArt, когда есть бесплатный драйвер напрямую от производителя?

https://www.devart.com/dotconnect/oracle/articles/comparin...

#41 
Срыв покровов патриот10.08.23 23:26
NEW 10.08.23 23:26 
в ответ AlexNek 10.08.23 19:27
как они тогда появляются и где хранятся? Всё через код? Просто видео про WF смотрел, там они усё рисуют.


появляются путём создания разработчиками. Хранятся в проекте в формате XAML, который компилируется в классы.

Рисуется не все, только каркас.

#42 
Срыв покровов патриот10.08.23 23:28
NEW 10.08.23 23:28 
в ответ AlexNek 10.08.23 19:31, Последний раз изменено 10.08.23 23:35 (Срыв покровов)

линия от Presistence к Domain же в другую сторону.

tps://www.devart.com/dotconnect/oracle/articles/comparin...

ещё бы они в своей сравниловке написали, что хуже чем другие.

Вот только я уверен, что

1) у них тоже нет версии, которая совместима с обоими мирами

2) потребуется переписывать имеющийся код, если заменить драйвер от оракла.

#43 
AlexNek патриот11.08.23 19:55
AlexNek
NEW 11.08.23 19:55 
в ответ Срыв покровов 10.08.23 23:26

То бишь редактора нет? Так тогда можно код вытащить и перекомпилить.


У нас тоже что то типа воркфлоу есть, но их может админ сам писать на специальном языке, тоже компилируются в XAML и потом в проге отображаются.

#44 
AlexNek патриот11.08.23 20:02
AlexNek
NEW 11.08.23 20:02 
в ответ Срыв покровов 10.08.23 23:28
у них тоже нет версии, которая совместима с обоими мирами

Ну вроде NET standard вполне достаточен для обоих миров. Хотя я так и не понял отчего нельзя всё перекомпилить.

dotConnect for Oracle has four sets of assemblies:

  • for full .NET Framework
  • .NET Standard 1.3 compatible assemblies (compatible with .NET Core 1.0 and higher and .NET Framework 4.6 and higher)
  • .NET Standard 2.0 compatible assemblies (compatible with .NET Core 2.0 and higher and .NET Framework 4.6.1 and higher)
  • .NET Standard 2.1 compatible assemblies (compatible with .NET Core 3.0 and higher only, .NET Framework is not supported)


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

Это если извращения есть. А так, довольно спокойно перешли с Оракла на постгрес.

У Оракла же лицензия/цены изменилась.

#45 
Murr патриот11.08.23 21:48
Murr
NEW 11.08.23 21:48 
в ответ Срыв покровов 08.08.23 23:23

Не похоже, чтобы это был драйвер оракла для EF

------

Там не драйвер, а провайдер.

С OracleManagetAccess - никак не связанный.

Задача провайдера в ЕФ - синтез СКЛ под конкретную версию Оракла.

А ОраклеМанаджетАкксесс - это повехностная проверка СКЛ (и нахрена ее туда впендрючили?) и управление обменом с сервером.

Провайдер для ЕФ - встроенный в .Нет. Ничего дополнительного не нужно. Должно работать из коробки.

А с ОраклеМанаджетАксесс нужно выбирать внимательно - там куча версий и зависимостей от версии сервера... хотя... он сам сообщает что не поддерживает... хммм... это анменаджет сообщает, а как манаджет не знаю.

#46 
Murr патриот11.08.23 21:57
Murr
NEW 11.08.23 21:57 
в ответ Срыв покровов 09.08.23 14:24

для чего оно понадобилось ораклу

-----

Для прав доступа скорее всего.


Посмотри версии драйверов - твои требуют .Нет 4.0, а код в котором идет вызов скорее всего не совместимый.

И проверь еще тип проекта и используемый в проекте фраймворк - там иногда просто слетают установки.

#47 
Срыв покровов патриот13.08.23 09:31
NEW 13.08.23 09:31 
в ответ AlexNek 11.08.23 20:02
Это если извращения есть.

наверняка.

#48 
Срыв покровов патриот13.08.23 09:34
NEW 13.08.23 09:34 
в ответ AlexNek 11.08.23 19:55

То бишь редактора нет? Так тогда можно код вытащить и перекомпилить.

Редактор есть. Исчезает с переходом на .net 7.

Код вытащить можно, но придется его дальше писать руками.

#49 
1 2 3 все