如何使用 Oracle 和 SQL Server 将 .NET 4.5 C# Entity Framework 6 中的列映射为大写?

2024-01-20

我正在使用 C#、.NET 4.5 和实体框架 http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework我的项目中有 6 个。它使用 Oracle 和 SQL Server,具体取决于客户端的安装。

该方法是数据库优先,因为当我们决定将 ORM 更改为NHibernate http://en.wikipedia.org/wiki/NHibernate到实体框架 6。

映射如下所示:

ToTable(schema + ".Motorista");
Property(x => x.Criacao).HasColumnName("criacao").IsOptional();

映射中的表名和列名均采用 PascalCase,这在 SQL Server 中工作正常,但在 Oracle 中,所有名称均为大写,这会导致错误:

ORA-00942: 表或视图不存在

如果我手动将其设为大写,那么它在 Oracle 上工作正常。但由于与 SQL Server 的兼容性,我不能这样做。

使用 Oracle 时,如何让实体框架将所有名称大写?

在这种情况下我可以使用约定吗?


当数据库名称(表和列)等于类模型中的类和属性名称时,很容易引入自定义代码优先约定:

在上下文中OnModelCreating重载,您可以添加这些行来添加如何分别从类名称和属性名称派生表名称和列名称的约定:

modelBuilder.Types().Configure
    (c => c.ToTable(c.ClrType.Name.ToUpper(), schema));

modelBuilder.Properties().Configure
    (c => c.HasColumnName(c.ClrPropertyInfo.Name.ToUpper()));

当然,您应该有条件地执行此操作,即在连接到 Oracle 时。例如,通过检查全局常量,例如OnOracle你可以通过设置

ConfigurationManager.ConnectionStrings[0].ProviderName
    == "System.Data.OracleClient"

在应用程序启动时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Oracle 和 SQL Server 将 .NET 4.5 C# Entity Framework 6 中的列映射为大写? 的相关文章

  • 将 SQL Server 与 Dart 结合使用

    我还没有找到很好的答案 所以我想尝试一下得到答案 将 Microsoft SQL Server 与 Dart 结合使用的最佳方式是什么 我需要它能够从基本上任何操作系统 网络和移动设备上使用它 我觉得最好的方法可能是 GraphQL 但我对
  • 无法使用 Tedious 和 Node JS 连接到本地 SQL Server 数据库

    我正在尝试连接到本地计算机上的 SQL Server 我正在尝试使用乏味和乏味 ntlm 两者的配置如下 var tds require tedious ntlm var tds require tedious var config use
  • 将 .MDF SQL Server 数据库与 ASP.NET 结合使用与使用 SQL Server

    我目前正在 ASP NET MVC 中编写一个网站 我的数据库 其中还没有任何数据 只有正确的表 使用 SQL Server 2008 我已将其安装在我的开发计算机上 我使用服务器资源管理器从应用程序连接到数据库 然后使用 LINQ to
  • 如何让 Entity Framework 6 + Sqlite + 代码优先工作?

    我正在尝试创建一个简单的项目来探索 Entity Framework 6 Code First 与 sqlite db 提供程序如何工作 但是当我完成我的应用程序时 我收到错误 实体框架提供程序类型 System Data SQLite S
  • 如何在Azure Function的应用程序设置中定义providername属性

    我正在尝试在我的 Azure 函数中建立实体框架数据库连接 因此我需要在函数的应用程序设置中定义一个连接字符串 仅在 Azure 门户中添加一个以我的 DbContext 类名作为键的连接字符串会导致异常 因为连接到数据库时 provide
  • SQL 中基于下一条记录和上一条记录的复杂排序

    这是一个后续问题根据 SQL 中的下一条记录和上一条记录进行排序 https stackoverflow com questions 30477803 sorting based on next and previous records i
  • 在c#中创建sql连接

    我是这个网站的新手 也是编程的新手 我目前正在通过销售点创建库存系统 它使用模态和非模态形式 我的问题是 我正在研究change password对话框必须连接到数据库才能覆盖密码字段 我使用的数据库是Microsoft SQL Serve
  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • 下载 .NET 3.5 的实体框架

    哪个版本的实体框架 EF 我可以用在 NET 3 5我可以在哪里下载这个旧版本 对于 Net 3 5 您可以使用 EF v1 您是否尝试从以下位置下载 Microsoft NET Framework 3 5 Service Pack 1 h
  • 用于开发和生产的不同种子

    根据构建配置 调试 发布 使用实体框架 6 以不同方式为数据库设定种子的推荐方法是什么 现在我正在使用 MigrateDatabaseToLatestVersion 初始值设定项 在开发过程中 我喜欢在数据库中使用虚假数据进行测试 因此 我
  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 如何获取 Oracle 上 SYSDATE 的 UTC 值

    可能是一个经典 您知道在 Oracle 上检索 SYSDATE 的 UTC 值的简单技巧吗 最好也能在第 8 版上工作 现在我有自定义函数 Cheers Stefan 您可以使用 SELECT SYS EXTRACT UTC TIMESTA
  • 是否有适用于 SQL Server Express 的 SQL Server Profiler? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有适用于 SQL Server Express 的 SQL Server Profiler 也许是开源的 或者也许只是一个可以帮助我查
  • 同时从2个表中删除?

    我正在使用 asp net 和 sql 服务器 我有 2 个表 类别和产品 在产品表中 我的categoryId 为FK 我想要做的是 当我从类别表中删除类别时 我希望该类别中的所有产品都将在产品表中删除 如何才能做到这一点 我更喜欢使用存
  • 哪一条路?数据库优先、模型优先、仅代码?

    最近我通过Pro Entity Framework 4 0这本书学习了Entity Framework 现在 我想用EF来写项目 有了这些条件 哪种方式更好更灵活 我的观点是模型优先 但我想知道你的意见 thanks 读这个 EF 4 1
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • 最佳实践 - 将事件声明为 Java 接口的一部分

    我正在尝试使用接口和事件来解耦一些 UI 代码 我想知道 Java 中是否有方法 最佳实践来将事件声明为 Java 接口的一部分 就像 C 提供的那样 C event declaration in interface public inte
  • 使用 Amazon Connect 将语音消息保存在 aws s3 存储桶中

    how to save voice message of customer number and store in an s3 bucket using aws connect I made a contact workflow but I
  • Python获取onclick值

    我正在使用 Python 和 BeautifulSoup 为我的一个小项目抓取网页 该网页有多个条目 每个条目由 HTML 中的表格行分隔 我的代码部分有效 但是很多输出是空白的 它不会从网页获取所有结果 甚至不会将它们收集到同一行中 ta
  • 在 Web 应用程序中使用条形码渲染框架生成条形码

    我正在使用条形码渲染框架来生成条形码 我已经下载了他们的dll 我可以看到 如何在 Windows 应用程序中完成它 我想做同样的事情 即生成条形码并在网络应用程序中使用它 以下是可以使用的问题的链接 适用于 NET 的免费条形码 API
  • Java Android 应用 MediaPlayer 中的 NullPointerException

    请帮忙 这只是我正在开发的一个简单的Android应用程序 它意味着每次单击按钮时都会播放声音 当我慢速单击按钮时它会工作 但如果我单击按钮总是崩溃由于运行时错误 NullPointerException 我不知道我做错了什么 这是我的代码
  • 使用临时变量代替重复的完整引用是否更好?

    假设我们有一个类似的对象 var foo a b c d e f 0 1 2 3 4 5 6 7 8 9 我们希望在函数中使用对象的各个部分 如下所示 function doStuff if foo a b c d e f 5 gt som
  • SPARQL - 查询属性并返回相关属性的结果

    我是 SPARQL 新手 我正在尝试运行 SPARQL 查询 以便返回属性的结果并根据此列出相关属性的值 示例代码为 SELECT player position club goals WHERE player a
  • Qt 安装程序框架:自动更新

    我目前正在使用 Qt 安装程序框架并设法建立一个在线存储库 我想知道的是 该框架是否提供某种 自动更新 机制 例如每次程序 系统启动时检查更新的插件 服务 检查更新就足够了 因为安装本身可以使用维护工具完成 关于这个话题 我能找到的只有这么
  • 互联网上的 C# 套接字

    我成功地用 C 制作了一个在 LAN 下完美运行的客户端服务器程序 我们使用了 TcpListener 和 TcpSocket 类 不过 我们无法让它在互联网上工作 我知道这与防火墙 路由器端口阻塞等有关 我们转发了我们使用的端口并关闭了防
  • mrjob:该示例如何自动知道如何在文本文件中查找行?

    我试图更好地理解 mrjob 的示例 from mrjob job import MRJob class MRWordFrequencyCount MRJob def mapper self line yield chars len lin
  • 从 Facebook 获取所有用户和用户朋友的视频并将其存储在数据库中

    我正在使用 Rails 我需要从 Facebook 获取所有用户视频和用户朋友的视频并将其存储在我们的数据库中 视频就像 用户和用户朋友喜欢的视频 用户和用户朋友分享的视频 用户和用户朋友标记的视频 用户和用户朋友评论的视频 用户及用户好友
  • 为什么我应该将 RSpec 或 shoulda 与 Rails 一起使用?

    我正在设置一个 Rails 应用程序 刚刚完成一些单元测试 我的朋友说显然固定装置不再酷了 人们现在使用 RSpec 或 Shoulda 我想知道使用这些其他工具包的实际好处是什么 任何信息都值得赞赏 fREW 相比 RSpec 我个人更喜
  • 当我点击图标时打开抽屉反应导航版本5

    我想在单击 headerLeft 部分中的图标时打开抽屉 我也尝试了 this props navigation dispatch 但给出了错误 navigation dispatch 也给出了错误 下面的代码不会给出错误 但不会打开抽屉
  • 如何检查一个点是否在三角形中?

    你好 还要考虑到我有 4 个点 我将有 4 个三角形 我如何检查这四个三角形中的每个点是否是三角形内的点 谢谢 Polygon http download oracle com javase 6 docs api java awt Poly
  • 如何使用 iOS 轻松调整/优化图像大小?

    我的应用程序正在从网络下载一组图像文件 并将它们保存到本地 iPhone 磁盘 其中一些图像尺寸相当大 例如 宽度大于 500 像素 由于 iPhone 甚至没有足够大的显示屏来显示原始尺寸的图像 因此我计划将图像大小调整为更小一些 以节省
  • npm 用于 javascript 客户端代码

    我正在读一份关于npm 开发者指南 https npmjs org doc developers html 我想知道是否可以使用 javascript css html 编写 Web 客户端应用程序 通过使用 npm 如果是的话 githu
  • Win32同步

    我正在尝试编写一个应用程序 基于控制台 其中一个线程从控制台读取信息 另一个线程将相同的信息打印回控制台 我陷入了实现同步逻辑的困境 谁能给我推荐一些样品 john 如果你指的是 c 你可以在这里找到示例 使用临界区对象 http msdn
  • 当我向项目添加文件时,为什么 Visual Studio 会检出 .vspscc 文件?

    如果我将新文件添加到 TFS 源代码控制下的项目 它将检出该项目文件以及该项目文件对应的 vspscc 文件 项目文件本身发生更改 以包含新文件 但 vspscc 文件根本没有更改 何必费力去检查呢 有没有办法禁止它被签出 如果有 我应该吗
  • 来自 Process.MainWindowHandle 的 C# HwndSource

    我试图 挂钩 窗口的消息来检测最小化 最大化 我环顾四周 认为执行此操作的唯一 最佳解决方案是挂钩窗口的消息 并检查 WM WINDOWPOSCHANGED 消息 然后检查其状态 我遇到了问题 System Windows Interop
  • 如何使用 Oracle 和 SQL Server 将 .NET 4.5 C# Entity Framework 6 中的列映射为大写?

    我正在使用 C NET 4 5 和实体框架 http en wikipedia org wiki ADO NET Entity Framework我的项目中有 6 个 它使用 Oracle 和 SQL Server 具体取决于客户端的安装