有没有办法让类名与表名不同?

2024-03-03

我们正在使用几年前创建的数据库,并且希望保持表名称相同。

我们所有的表都命名为:“tbl_Orders”,但我们希望模型/控制器等的类名称为 Orders/OrdersController/等。我们使用实体框架将类映射到我们的表。

抱歉,如果之前有人问过这个问题,我尝试搜索但空手而归......

解决方案:

经过与斯科特·张伯伦(Scott Chamberlain)的一番反复讨论后,我们得出的结论是,这两个答案都是正确的。我继续将马苏德的回答标记为已接受,因为这就是我所走的路线。感谢所有提供帮助的人(尤其是斯科特)。


您可以使用 Table 属性或 Fluent api 在数据库中的表名称和类名称之间进行映射

[Table("tbl_Blogs")] 
public class Blog

第三方编辑

实体框架核心提供相同的选项来映射表名或列

  • 映射表名称 https://learn.microsoft.com/en-us/ef/core/modeling/entity-types?tabs=data-annotations#table-name
  • 映射列名称 https://learn.microsoft.com/en-us/ef/core/modeling/entity-properties?tabs=data-annotations%2Cwithout-nrt#column-names

可以使用属性来完成映射

[Table("blogs")]
public class Blog
{        
    [Column("blog_id")]
    public int BlogId { get; set; }
    public string Url { get; set; }
}

或者使用 Fluent api

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Blog>()
        .ToTable("blogs");
    modelBuilder.Entity<Blog>()
        .Property(b => b.BlogId)
        .HasColumnName("blog_id");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法让类名与表名不同? 的相关文章

  • VS 2012 中缺少实体数据模型

    添加新项目时 我在 数据 选项卡下找不到实体数据模型 我查看了几个问题和答案以及有关此问题的信息 但没有一个解决方案有效 我已修复 卸载并重新安装 手动安装 EF Tools 包并尝试卸载所有 VS 相关程序 我还尝试在不同的 NET 框架
  • 应用程序内的 SQLite 文件版本兼容性

    我有一个 C NET 应用程序 一种复杂的计算应用程序 其中用户输入数据 处理后的信息使用 JSON 序列化和 EF 保存到 SQLite 文件中 需要时可以将其加载到我们的应用程序中 应用程序在开发过程中经历了很多变化 类也被修改 因此
  • 包括过滤器子集合[重复]

    这个问题在这里已经有答案了 我在为 LINQ 查询中包含的项目添加一些过滤条件时遇到一些困难 我的查询就像 var item Context Order Include Inner Include Inner first Include I
  • asp.net mvc 4 - 可以在每个线程共享 DbContext 吗?

    From 每个 Web 请求一个 DbContext 为什么 https stackoverflow com questions 10585478 one dbcontext per web request why 我的理解是 DbCont
  • WinForms 中的 EF:如何过滤 BindingSource/DGW 中的数据 (.Local.ToBindingList())

    我按照本教程生成了 EF 模型 首先是数据库 和数据源http msdn microsoft com en us data jj682076 aspx http msdn microsoft com en us data jj682076
  • 但说真的...... ASP.NET WebAPI 实现示例(包括 OAuth)

    我真的对 WCF 示例不感兴趣 我发现的 DotNetOpenAuth 实现也是不完整的 https github com DavidChristiansen DotNetOpenAuth WebAPI 40 or 假设WCF https
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 实体框架 - SQL Server 2005 - IIS 服务器日期时间问题

    我正在使用 MVC3 和实体框架 在我的应用程序中 我需要通过 EF 调用 SQL Server 2005 中的存储过程来根据以下内容搜索一些数据datetime传递的参数 在当地环境中一切似乎都运行良好 但是将其托管到 IIS 后 我在尝
  • 忽略 Entity Framework 6 中除部分属性外的所有属性

    我想使用实体框架在数据库中保留一些数据 我有一些更大的 POCO 但我只想存储一些属性 我知道我可以通过Fluent API通过使用Ignore 方法 但是是否也有可能不仅忽略已定义的属性 而且还忽略除已定义属性之外的所有属性 所以如果你有
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 实体框架 - 相关的 ICollection 被具体化为 HashSet

    我在我的项目中使用实体框架 POCO 代理 延迟加载 今天我很惊讶地看到这个班级Transaction有其相关合集Rows物化为HashSet 代替EntityCollection 我需要EntityCollection用于跟踪集合中的更改
  • 构建视图模型的最佳方法是什么?

    我正在使用带有实体框架的 asp net mvc 并开始学习 DDD 我正在从事包含调查的项目 这是我的域模型 public class Survey public int SurveyID get set public string Na
  • Web Api 2 在 OWIN 中间件中获取控制器和操作名称?

    如何在自定义 OWIN 中间件中检索 api 控制器名称和 api 操作名称 我可以在消息处理程序内部执行此操作 如下所示 var config request GetConfiguration var routeData config R
  • 如何在实体框架中完全锁定一行

    我正在处理的情况是我们正在处理金钱交易 例如 我有一个用户钱包表 其余额位于该行 UserId Wallet Id Balance 现在 在我们的网站和网络服务中 每次发生特定交易时 我们都需要 检查是否有足够的资金可用于执行该交易 从余额
  • 自定义WebApi授权数据库调用

    我正在尝试确定我编写的自定义授权属性是否确实是一个好主意 Scenario假设我们有一系列商店 每个商店Store有一个主人 只有商店的所有者才能对商店进行CRUD操作 除了具有Claim这基本上超越了所有权要求 并表示他们可以在任何商店上
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • 无法通过 LINQ to Entities 使用某些功能?

    我正在尝试使用 LINQ 查询在项目上实现搜索功能 由于数据有时包含带有重音符号和其他符号的字符 因此我创建了一种方法来删除这些字符以进行搜索 这是我的代码 var addresses from a in db Addresses join
  • 使用 AttributeRouting.PUTAttribute 时出现 405,除非我还包含 HttpPutAttribute

    我们有一个 MVC 项目 我正在尝试更新该项目以包含 WebApi 为了获得所需的路由 我们使用 AttributeRouting 除了返回 405 的 PUT 之外 所有调用似乎都正确路由 我已经简化了控制器和操作 但仍然收到 PUT 的

随机推荐

  • 在使用 Javascript 上传之前检查图像的宽度和高度

    我有一个 JPS 其表单中用户可以放置图像 div class photo div Photo max 240x240 and 100 kb div div
  • 在 PHP 中保护登录 cookie 数据的最佳方法是什么?

    我正在用 PHP 创建一个登录系统 我想知道如何最好地保护 cookie 中的用户信息字符串 我正在考虑用密钥以某种方式加密字符串 这是最好的方法吗 我对此有点陌生 提前致谢 不要在 cookie 中存储敏感信息 存储会话 ID 哈希以将登
  • firebase.intializeApp 不是一个函数

    所以我陷入了这个错误 我使用 telegram bot api 制作了一个 telegram 机器人 现在尝试设置一个 firebae DB 来保存组成员的分数 因此重新启动机器人后分数不会重置 有人可以告诉我问题是什么吗 我在这里读到了很
  • 如何在 Sublime Text 2 编辑器中将一行传递到控制台

    我使用 RStudio 来处理 R 编程语言并找到ctrl enter将一行发送到控制台的快捷方式对于解决我的工作问题非常有用 现在我正在使用 sublimetext2 我想在 RStudio 中做同样的事情 向控制台发送一行 有没有办法将
  • 定位偏移 div / 图像

    我想达到这个结果 参见此示例图片 首先 我尝试使用 CSS 创建部分边框 使用div after 问题 我有几个不同格式的图像 但它无法正常工作 所以 我尝试过使用背景 divposition relative和一个图像position a
  • docker-compose 不使用 Flask 设置环境变量

    运行 Flask 容器 当我尝试读取环境变量时 它们不是由 docker compose 设置的 我正在使用 docker compose 文件版本 2 compose file services test build test image
  • 像表格一样显示 DL [重复]

    这个问题在这里已经有答案了 如何设置定义列表项的样式以使每个定义都在一行中 HTML dl dt word dt dd meaning dd dt word dt dd meaning dd dt word dt dd meaning dd
  • Jupyter Lab未使用虚拟环境

    我创建了一个虚拟环境并安装了ipython all and jupyter与点 当我跑步时jupyter lab 打开笔记本 并尝试导入我在虚拟环境中安装的包 我收到 ModuleNotFoundError Running ipython在
  • 如何在 jquery 中切换 attr()

    我有一个简单的添加属性函数 list toggle click function list sort attr colspan 6 我的问题是 我怎样才能把它变成一个切换 所以colspan 6 下次单击时从元素中删除吗 如果你感觉很奇特
  • RenderTargetBitmap 渲染尺寸错误的图像

    我的任务是向用户显示 XPS 文档每一页的缩略图 我需要所有图像都很小 所以我用dpi设置为 72 0 我在 google 上搜索到 dpi 72 0 的 A4 纸的尺寸为 635x896 基本上 我执行以下操作 List
  • Sequelize 模型与模型不关联

    我花了几个小时却毫无结果 我有很多资源 它们都有点相同 但我就是无法让我的项目发挥作用 这个问题Sequelize js 不关联到 https stackoverflow com questions 50841912 sequelize j
  • 将此递归函数转换为迭代函数

    如何将这个递归函数转换为迭代函数 include
  • 如果在循环内部使用 getter 结果,则强制将其存储在变量中

    考虑以下课程 class Smth get functionWithSomeVeryUniqueName Some heavy calculations are here return obj gt obj Actually uses so
  • 使用Nutch如何抓取使用ajax的网页的动态内容?

    我正在使用 apache Nutch 1 10 来抓取网页并提取页面中的内容 一些链接包含在调用 ajax 时加载的动态内容 Nutch无法抓取和提取ajax的动态内容 我该如何解决这个问题 有什么解决办法吗 如果是 请帮助我回答 提前致谢
  • 有没有办法通过单个 HList 定义多个隐式证据?

    我有一段代码 在概念上类似于以下代码 library code trait Support K V def partialHandler K V key K value V implicit ev Support K V user code
  • (重新)使用 Visual Studio 2008 在 IE7 中启用 JavaScript 调试器

    Visual Studio 2008 附带了很好的 JavaScript 调试功能 但是我玩了一下 NetBeans 调试器 它在我的 IE 上安装了一个来自 Microsoft 的丑陋的脚本调试器 通常 IE 应该询问我想用什么来调试 但
  • 为什么 iOS 上需要重启才能发送崩溃日志?

    使用自定义的崩溃报告系统 例如专门从事iPhone 崩溃后要求用户发送崩溃日志 https stackoverflow com questions 5392283 ask the user to send crash log after c
  • C#命令获取结构偏移量?

    假设我有一个像这样的 C 结构 StructLayout LayoutKind Explicit struct IMAGE DOS HEADER FieldOffset 60 public int e lfanew 现在假设我从文件中读取数
  • 无法使用 MinGW 构建 Boost,它会寻找 Visual C++

    起初 我尝试使用以下命令构建安装了 MinGW 和 Microsoft Visual C 的 Boost bootstrap bat mingw b2 在构建过程中 我收到了大量日志行 表明构建是针对 Visual C msvc 完成的 所
  • 有没有办法让类名与表名不同?

    我们正在使用几年前创建的数据库 并且希望保持表名称相同 我们所有的表都命名为 tbl Orders 但我们希望模型 控制器等的类名称为 Orders OrdersController 等 我们使用实体框架将类映射到我们的表 抱歉 如果之前有