实体框架:如何在提交之前检查值是否存在

2024-01-28

我正在使用存储库模式。

我有一个国家/地区存储库,我正在使用服务来提交该存储库。我应该在哪里检查该国家/地区是否已存在于数据库中,我会抛出异常吗?

有没有一种方法可以在一次数据库调用中做到这一点? (如果不存在则检查并插入)?如果可以的话,可以在服务层实现吗? (如果这是您建议我进行检查的地方)。


是否将这种逻辑放入您的服务或存储库中是一个主观问题。就我个人而言,我会让服务检查并插入(如果它不存在),但也会让您的存储库在尝试插入之前验证它不存在,这样您的存储库就会强制执行一些“逻辑”来阻止您的数据库免于被骗。

怎么做?

public void InsertIfNonExistant(string Country)
{
   if(!_myContext.Countries.Any(c=>c.Name == Country))
      InsertNewCountry(Country);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架:如何在提交之前检查值是否存在 的相关文章

  • 无法找到请求的.Net Framework 数据提供程序。 (Sql客户端)

    我正在尝试使用来自 SQL Server 2005 的 DB First 迁移来设置一个简单的 ASP NET MVC 4 Web 应用程序 我已经在数据库中创建了表 并使用实体框架在代码中创建了对象 我可以使用这些对象访问数据 当我尝试使
  • 继承 IdentityUser 我在 UserManager 上收到错误

    我正在使用 NET Framework 4 5 1 和 Asp Net Identity 2 1 0 开发 Web Api 2 2 应用程序 我不确定我在做什么 但我想将我的数据库与 ASP NET Identity 数据库合并 我已经这样
  • 实体框架 5 不清除导航属性

    我在 Entity Framework 5 中遇到了这个奇怪的问题 我在其中一个实体中有一个导航属性 我想将其设置为null 但由于某种原因 该属性只有在我第二次调用该属性时才会被清除 using var db new Entities v
  • 将多对多关系与实体框架中的属性映射

    我总是使用属性将实体的属性映射到相应的列 这是一个例子 Table news entries public class News Key public int Id get set Column d date public DateTime
  • 实体框架与oracle数据库的连接

    我使用的是 Entity Framework 6 1 版本和 oracle 11 我是实体框架的新手 任何人都可以建议连接 oracle 的先决条件是什么 任何更改都需要在 web config 中进行 在web config中 默认它是与
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • 使用 EF 6 和 MVC 5 中的 Code First 方法将新表添加到现有数据库

    我知道这应该很简单 但我无法在网上找到有关此主题的正确教程或解释 有很多关于使用代码优先方法向现有表添加新列的视频和帖子 但我找不到任何关于如何将整个新表添加到现有数据库的分步说明 这很奇怪 我很确定我会找到很多例子 也许我的搜索条件不好
  • EF 6:映射复杂类型集合?

    EF 6 代码优先 是否支持复杂类型集合 值对象集合 映射 我知道它支持复杂类型 但还没有找到我们拥有复杂类型集合的示例 例如 假设您有一个名为 Student 的实体 其中包含联系人集合 对于 NH 我可以简单地说 Student 有一个
  • EF6“模型配置”已设置但未发现

    我有以下库 实体模型 dll 包含 POCO 类 实体DAL dll 引用EntityMODEL dll 实体服务 dll 引用 EntityMODEL dll 和 EntityDAL dll 实体测试 dll 引用 EntitySERVI
  • 为什么实体框架尝试选择所有列,即使我只指定了两列?

    我继承了一个 ASP MVC 项目 该项目使用 Entity Framework 6 1 3 与 Dynamics CRM 2011 SQL 数据库进行交互 我正在使用此查询来尝试获取具有帐号的所有活动帐户 并且我仅选择两列为匿名类型 va
  • 在保存到数据库方法之后,存储库模式应如何更新对象的 ID?

    在内存中创建 POCO 后 我调用存储库对象上的 Save 方法 然后 我需要使用保存操作期间创建的数据库 ID 更新 POCO 我应该使用 ref 传递对象 只需让 save 方法返回 ID 并从调用页面手动更新对象 还是什么 这是一些示
  • 实体框架以错误的顺序插入子对象

    Question 为什么 EF 首先在它所依赖的对象 TimesheetActivity 之前插入具有依赖项的子对象 PersonnelWorkRecord 另外我有哪些纠正这个问题的选择 ERD 简化 This is predefined
  • 使用 DI 将参数传递给 DbContext

    我想向 DBContext 传递一个附加参数 如下所示 string myParam xx string con connenctionstring services AddDbContext
  • 如何在 MVC4 的 UserProfile 中创建自定义附加字段

    我遇到了新的 ASP MVC 4 功能 它附带了新的成员资格数据库模式和新的初始化 在 mvc 3 和旧版本中 开发人员能够使用 web config 中的规范创建自定义用户配置文件字段 但现在我面临默认 mvc 4 项目中过滤器命名空间中
  • VS 2012 中缺少实体数据模型

    添加新项目时 我在 数据 选项卡下找不到实体数据模型 我查看了几个问题和答案以及有关此问题的信息 但没有一个解决方案有效 我已修复 卸载并重新安装 手动安装 EF Tools 包并尝试卸载所有 VS 相关程序 我还尝试在不同的 NET 框架
  • 使用 DbContext 进行模型优先,无法初始化新数据库

    我放弃 我找到了这个 http blogs msdn com b adonet archive 2011 03 15 ef 4 1 model amp database first walkthrough aspx http blogs m
  • 使用实体框架重叠约会

    我将 asp net mvc 与实体框架一起使用 我有一个包含 startat 字段 endat 字段和 roomid 字段 称为 SpaceConfigurationId 的约会列表 并且希望查找给定房间已重复预订的约会列表 可以假设 e
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 同一配置文件上的两个不同提供程序

    我在用着实体框架 6 1 0 I have 2 家提供者 MysqlClient 和 SQLServerCE 我需要创建2个不同的DBContext 这迫使我创造2个配置类因为mysql有一些不同的东西 但是当我初始化应用程序时 Datab
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public

随机推荐

  • 响应式背景图像 bootstrap 3

    我正在使用 bootstrap 并试图使我的背景图像具有响应能力 但它不起作用 这是我的代码 html div class row div class bg img src img home bg jpg alt home backgrou
  • `Class of` 类型声明的含义是什么?

    在查看我的代码之一时 我陷入了如下的一项声明 TMyObjectClass class of TMyObject 我有点困惑 想知道这句话的含义是什么 作为TMyObjectClass声明之上没有任何声明 and TMyObject声明如下
  • ElasticSearch:未分配的分片,如何修复?

    我有一个有4个节点的ES集群 number of replicas 1 search01 master false data false search02 master true data true search03 master fals
  • 按下按钮刷新 tkinter 框架

    我正在使用来自的代码在 tkinter 中的两个框架之间切换 https stackoverflow com questions 7546050 switch between two frames in tkinter制作我的图形用户界面
  • 在 Swift 中将参数传递给选择器

    我正在构建一个应用程序来跟踪大学课程的阅读作业 每个 ReadingAssignment 都包含一个 Bool 值 指示读者是否已完成阅读作业 ReadingAssignments 被收集到 WeeklyAssignment 数组中 我希望
  • 具有相同标签的不同散点图标记

    我遇到了 类似 的问题Matplotlib 一个标签具有多个不同标记的图例 https stackoverflow com questions 9262307 matplotlib legend with multiple differen
  • 多个域的集成 Windows 身份验证

    我有一个针对域 A 用户的 Asp net 网站 具有集成 Windows 身份验证 现在B域的用户需要访问该网站 但域B用户访问网站时会弹出窗口输入验证信息 我的问题是 如何配置IIS或Windows Server 让B域用户像A域用户一
  • XAML 文件的智能感知 (Xamarin.Forms)

    在 Visual Studio 15 中 如何让 XAML Intellisense 适用于 Xamarin Forms 中的 XAML 文件 编辑 将答案与问题分开 这个解决方案是在这个论坛 https social msdn micro
  • 如何检测 Angular 中属性的更改

    我有一个带有子组件的组件timeline
  • $null 应该位于相等比较的左侧吗? (-eq 与数组)

    与同事讨论 应该 null是在支票的左边还是右边 有什么例子可以说明为什么这很重要吗 abc null null eq abc True abc eq null True All ok abc 6 7 null 8 9 null eq ab
  • 使用 NPOI 将图像插入 Excel 文件

    我正在使用 C 在 Visual Studio 2010 中编写一个程序 并且正在使用 NPOI 库 我正在尝试将图像插入到 Excel 文件中 我尝试了两种不同的方法 但都不起作用 Method 1 HSSFPatriarch patri
  • 服务重启后 Docker 节点宕机

    我的服务器似乎空间不足 并且某些已部署的 Docker 堆栈出现了一些问题 我花了一段时间才弄清楚 但最终我做到了 并删除了一些容器和图像以释放一些空间 我能够跑service docker restart它起作用了 然而 也存在一些问题
  • 通过java应用程序发送附有excel文件的电子邮件 - 不起作用

    我试图通过Java应用程序发送一封邮件 其中包含excel文件作为附件 而不实际创建该文件 excel文件中的数据来自数据库 我可以发送带有附件的邮件 但文件是文本 制表符分隔 格式 但我希望该文件仅为 Excel 格式 请帮忙 以下是代码
  • 在 Java 调试器中,如何忽略从未通过我的代码的异常

    我目前正在使用 IntelliJ IDEA 进行 Java 开发 但我也对针对其他 IDE 的答案或调试 Java 代码的一般概念感兴趣 因为我在许多 IDE 中都错过了这个功能 所以我不确定在从其他语言转移我的调试习惯时是否错过了工作流程
  • Google Dataflow(Apache Beam)JdbcIO批量插入mysql数据库

    我正在使用 Dataflow SDK 2 X Java API Apache Beam SDK 将数据写入 mysql 我创建了基于管道Apache Beam SDK 文档 https beam apache org documentati
  • 使用 window.open() 的多个窗口

    众所周知 如果您单击嵌入其中的提交按钮onClick windown open 这将打开一个新窗口 其中包含您指定的所有可爱属性 但是 如果继续单击父窗口并再次单击 提交 按钮而不关闭先前的弹出窗口 则同一窗口将被新数据覆盖 现在我需要一种
  • 词汇量和嵌入维度之间的首选比例是多少?

    例如使用时gensim word2vec或用于训练嵌入向量的类似方法我想知道什么是好的比率 或者嵌入维度与词汇量之间是否有首选比率 随着更多数据的出现 这种情况会如何变化 由于我仍在讨论这个主题 因此在训练嵌入向量时如何选择合适的窗口大小
  • 哪些 OpenGL ES 2.0 纹理格式可进行颜色、深度或模板渲染?

    From OpenGL ES 2 0 规范 http www khronos org registry gles specs 2 0 es full spec 2 0 25 pdf第 4 4 5 节 表 4 5 中未列出的格式 包括压缩的内
  • 如何将两个日期列表合并为一系列日期间隔?

    我有开始日期列表和结束日期列表 他们已经排序了 start dates datetime date 2009 11 5 datetime date 2009 11 13 datetime date 2009 11 25 datetime d
  • 实体框架:如何在提交之前检查值是否存在

    我正在使用存储库模式 我有一个国家 地区存储库 我正在使用服务来提交该存储库 我应该在哪里检查该国家 地区是否已存在于数据库中 我会抛出异常吗 有没有一种方法可以在一次数据库调用中做到这一点 如果不存在则检查并插入 如果可以的话 可以在服务