Я пытаюсь создать классы C# для Linq (или Entity Framework 6) из существующей базы данных PostgreSql в Linux. Я установил npgsql и Entity Framework 6 в проект monodevelop, и я смог запросить базу данных с помощью чистого SQL.Создание классов linq с использованием sqlmetal для npgsql
Но когда я пытаюсь генерировать классы Linq с помощью SqlMetal:
sqlmetal -c "Port=5432;Encoding=UTF-8;Server=myDbServer;Database=MyDatabase;UserId=myUser;Password=mypassword;" --code=model.cs --language=c# --provider=PostgreSql
Я получаю следующее сообщение об ошибке:
sqlmetal: Could not load databaseConnectionType type 'npgsql'. Try using the --with-dbconnection=TYPE option.
Я не знаю, что поставить после --with-DBConnection
Это очень специфичный для SqlMetal вопрос - я не знаю об этом (вы, вероятно, захотите пометить этот вопрос для него). Если вам то, что вам нужно, это имя класса для типа DbConnection, то это Npgsql.NpgsqlConnection. Для чего-то еще вам нужно будет предоставить более подробную информацию о SqlMetal. –
Я пробовал альтернативный путь, сгенерировал модель под визуальной студией и копировал выходные файлы в MonoDevelop/Linux, она компилируется, но я борюсь за передачу строки подключения Entity Framework. –