从dotnet CLI搭建oracle数据库



我擅长c#,对oracle和dotnet cli有点模糊。

我想做的是,从命令行创建一个控制台应用程序,并从命令行创建一个EF模型,"数据库优先"。

我已经通过visual studio得到了这个工作,即创建一个控制台应用程序,添加包Oracle.ManagedDataAccess.EntityFrameworkOracle。ManagedDataAccess

创建"数据连接"到我的oracle数据库。

添加一个ado.net实体数据模型,并使用向导选择一个表,并应用它,它为我创建了一个模型,然后我可以用。

查询数据库。那么从命令行?

dotnet tool install --global dotnet-ef
dotnet tool update --global dotnet-ef
dotnet new console
dotnet add package Microsoft.EntityFramework.Design

构建它dotnet构建

和它的好(不奇怪)

然后,我完全被"manageddataaccess"one_answers"manageddataaccess"之间的差异所迷惑。和oracle。entityframeworkcore ....

所以你选择任何一种方式(它仍然会失败)。

dotnet add package Oracle.EntityFrameworkCore

现在…

dotnet build

和NU1107版本冲突。关系…

如果安装显式版本,则使用"Oracle。EntityFrameworkCore 3.19.80需要...."旧版本....所以这些东西不能一起工作。

任何想法?

如果你继续(这只是一个警告!)并尝试脚手架,那么不出所料,它会失败,因为某种方法未发现错误(显然是因为我们得到了错误的包)。

所有在线文档似乎都在visual studio中使用包管理器做了一些事情,这对我来说没有任何用处,我希望能够从命令行生成构建脚本的这些代码。

(实际上让文档引用CLI运行要显式得多)。

好吧,所以问题是版本(我可以说几乎完全缺乏清晰的文档/示例)

这个工作(至少它脚手架表我想,是否有更多的问题下游我不知道)

dotnet tool install --global dotnet-ef
dotnet tool update --global dotnet-ef
dotnet new web -f netcoreapp3.1 
dotnet add package Microsoft.EntityFrameworkCore --version 3.1.8
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 3.1.8
dotnet add package Oracle.EntityFrameworkCore --version 3.19.80
dotnet ef DbContext scaffold "Data Source=myserver:1521/mydatabase; User ID=me;Password=mypassword;" Oracle.EntityFrameworkCore -t ATABLE

我可以试试paket而不是nuget,看看它是否能更自动地解决依赖关系,而不是我必须把它们拼凑在一起。

相关内容

  • 没有找到相关文章

最新更新