基于Oracle的EntityFramework的WEBAPI2的实现(二)——使用DbFirst
之所以使用DbFirst而没有使用CodeFirst是因为考虑到现实的情况中,我们之所以会选择oracle而不是SQL SERVER,一方面是因为之前公司已经在使用Oracle,而且有好多我们需要用到的数据表已经存在了。所以,一般可以确认的是,部分表已经事先存在的这情况是有的,而CodeFirst虽然也有办法解决,但是,我们的Leader,同事似乎也会习惯手动改表而非告诉你让你写Code然后改表。所以DbFirst是一个不错的选择,其实也算是代替了代码生成品的一部分功能。
右击我们的项目,点添加·新建项·C#·数据·ADO.NET实体数据模型,取个名字,比如“OrclModel”点确定。
弹出如下的界面
选择第一个【来自数据库的EF设计器】,下一步。
按图中的箭头依次操作,注意如下:
- 【将web.config中的连接设置另外为】的地主一定要写一个好看的名字,因为后面使用linq的时候,都要用到它,建议使用Db开头Con结尾,中间是数据库库名的缩写或者名称。
- 【测试连接】一定要试,否则后面出问题就不好办了。
- 【是否将连接字符串加密】一般我是选不加的,毕竟是自己的服务器上面,人家都进了服务器了,而且是.NET,你在应用程序中设置此数据根本没用,人家ILSPY直接可以看到你的源码,根本没用,所以,为了方便,也不废那么多事儿了,就直接选择明文。
- 【连接类型】如果选TNS,那么在前一篇中web.config里面的setting部分,TNS_ADMIN是一定要加上的,否则会找不到TNS文件。
完成后,点击确定。后面就是熟悉的entityframework操作部分,与微软官网的走法一模一样,此处也不必再涉及过多,只是【选表】作映射的时候,尽量只选我们用到的表,毕竟,之前数据库已经存在了,而且里面有大量的我们用不到的表,多则无益。生成了edmx文件后,点一下保存,然后重新生成项目(原因是如果不重新生成项目 ,虽然映射文件有了,但是T4代码并没有生成cs文件,所以我们与表映射的类暂时还没有,我们可以使用重新生成来触发T4的编译工作)。
转载请注明作者及来源:张峻崎,博客园
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构