У меня есть приложение .NET 4.0, которое использует Entity Framework 4, который подключается к базе данных MS SQL 2008. Используется соглашение об именах, например таблица «Клиенты», поля: «Id», «Id_Order». Теперь мне нужно переключиться с SQL Server на Oracle Server, поэтому я перенес базу данных MS SQL в базу данных oracle, но проблема в том, что все имена таблиц и имена столбцов в верхнем регистре, поэтому, создавая edmx для oracle (используя ODAC) Мне нужно будет изменить код с «Клиенты» на «КЛИЕНТЫ», «Ид» на «Идентификатор», «Id_Client» на «ID_CLIENT», и это сильно изменится. Миграция была выполнена с использованием встроенного средства миграции из Oracle SQL Developer 3.1.07.Как установить имена таблиц и столбцы как чувствительные к регистру в oracle 11g?
Отрывок из сгенерированного сценария: CREATE TABLE Клиенты (
Я прочитал, что для того, чтобы создать идентификаторы регистрозависимые вы должны использовать двойные кавычки Так что я думаю, что сценарий должен быть чем-то вроде этого.: TABLE «Клиенты» CREATE (
кто-нибудь знает инструмент миграции, perserves имена случай или, по крайней мере, общий вариант, который я могу включить в сценарий?
В моем приложении .NET 4.0 у меня много кода linq: using (ExampleDbContext context = new ExampleDbContext()) {context.Clients.FirstOrDefault(); } Поэтому, если я создаю edmx, используя базу данных oracle, мне придется писать с использованием (ExampleDbContext context = new ExampleDbContext()) {context.CLIENTS.FirstOrDefault(); } Большинство моих запросов выполняются в linq, где C# учитывает регистр, а не хранимые процедуры. – user1218632
В Oracle SQL вы можете обратиться к таблице с любой комбинацией случая, который вы хотите использовать. Включая «Клиенты». Итак, почему вам нужно изменить код LINQ, чтобы вместо этого сказать «КЛИЕНТЫ»? –
Когда вы создаете файл edmx из MS SQL, у вас есть сгенерированный C# код, например context.Clients, а когда вы создаете из Oracle, у вас есть сгенерированный C# код, например context.CLIENTS, поэтому у меня будут ошибки во время компиляции в .NET. application – user1218632