实体框架代码首先插入方法挂钩

2024-01-07

我正在尝试将审核日志附加到我编写的实体中,我想知道是否存在可以覆盖的上下文中的挂钩以提供所需的功能。

我想做的是:

  • 插入时运行方法 A
  • 更新时运行方法 B
  • 删除时运行方法C

我可以手动将其添加到控制器中,但我更喜欢更具体的解决方案,所需的效果是没有方法可以在不插入审计日志的情况下插入表中。


这个项目 https://github.com/kmckelvin/EFHooks展示了如何将操作前和操作后挂钩添加到 Entity Framework 4.1 DbContext 中。您可以扩展其HooksDbContext上课或看它是如何实现钩子的 https://github.com/kmckelvin/EFHooks/blob/master/EFHooks/HookedDbContext.cs并更改它以适合您的目的。

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

实体框架代码首先插入方法挂钩 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 哪一条路?数据库优先、模型优先、仅代码?

    最近我通过Pro Entity Framework 4 0这本书学习了Entity Framework 现在 我想用EF来写项目 有了这些条件 哪种方式更好更灵活 我的观点是模型优先 但我想知道你的意见 thanks 读这个 EF 4 1
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 使用 C# 读取 Soap 消息

  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 用于 python 的网页抓取 remax.com

    这与我的问题类似here https stackoverflow com questions 54892103 web scrapping remax com in python 这得到了完美的回答 现在我有一些事情要做 我现在要做的就是不
  • 计算引擎上的 google cloudML 的 Docker 容器 - 验证安装桶

    我一直在与谷歌的机器学习平台合作 cloudML 大图 我正在尝试找出最干净的方法来获取他们的码头工人环境 https stackoverflow com questions 41605801 authenticate google clo
  • 提升deadline_timer问题

    下面是用计时器包装线程的测试类的实现 奇怪的是 如果截止时间设置为 500 毫秒 它可以工作 但如果我将其设置为 1000 毫秒 它就不起作用 我究竟做错了什么 include TestTimer hpp include SysMLmode
  • 在进程内存中缓存大量数据

    我在金融行业工作 我们希望推出数据库命中来进行数据处理 这是非常昂贵的 因此 我们计划采用按需缓存逻辑 运行时插入和运行时查找 有人参与过超过 1000 万条记录的缓存逻辑实现吗 每条记录大约为 160 200 字节 我使用不同的方法面临以
  • 如何在aws elastic-beanstalk上自动重新启动节点应用程序

    我用谷歌搜索了这个问题一段时间但找不到答案 我的问题是在 aws elastic beanstalk 服务器上部署 nodejs 应用程序时 我希望如果应用程序崩溃 nodejs 应用程序将自动重新启动 实际上 很少有 Node js 包已
  • 如何通过phonegap上传Facebook活动照片?

    我正在研究 Phonegap 现在我正在使用这个 post https graph facebook com Event Id Photos uri access token fbAccessToken function data Some
  • MVC ELMAH 和 SQL Azure

    背景故事 我们主要使用 AWS 来处理所有事情 托管 数据库 通知等 现在 我正在考虑将数据库端迁移到 SQL Azure 因为我们在 AWS RDS 上收到了疯狂的账单 因此 我尝试做的就是在 SQL Azure 中创建一个数据库并更新连
  • 使用 PHP 删除 URL 尾部斜杠的最佳方法

    我有一些网址 例如www amazon com www digg com or www microsoft com 我想删除尾部斜杠 如果存在 因此不仅仅是最后一个字符 有没有trim or rtrim为了这 You put rtrim在你
  • 为什么 HttpURLConnection.getResponseCode() 会抛出 IOException? [复制]

    这个问题在这里已经有答案了 我理解了getResponseCode 方法只是一个 getter 方法 返回statusCode已经由之前发生的连接操作设置 那么在这种情况下 为什么它会抛出一个IOException 我错过了什么吗 From
  • TCP校验和计算与wireshark计算不匹配

    我遇到一个问题 示例程序 复制如下 生成的 tcp 校验和与wireshark 计算的校验和不匹配 有人可以指出我哪里出错了吗 这里我尝试了两种方法 tcp 校验和 get ipv6 udptcp checksum 有了这两个值 就会得到两
  • 使用 ant mxmlc 任务将运行时库路径添加到 Flex 构建配置

    我正在尝试构建一个 Flex 项目 并将其链接到一些 RLS 在 Flex Builder 中设置项目时 相应的 构建配置 我通过将 dump config 添加到编译器选项而获得 会生成 除其他外 如下所示的标签
  • 为什么历史记录在 Firefox 中的 onclick 上不起作用?

    我不明白为什么在 Firefox 中 window history back 确实适用于按钮
  • 使用堆栈来遍历和解决迷宫 - Java

    所以我正在尝试创建一个迷宫求解器程序来解决 X 和 O 的迷宫 我想做的是创建一个点类 这样我就可以创建一个二维点数组 这将允许打印到输出页面以及相对简单地实现堆栈 我想在实际程序本身中实现的一般思想的最简单算法我认为应该是 1 Move
  • 奇怪的 SQLAlchemy 错误消息:TypeError: 'dict' 对象不支持索引

    我正在使用 SqlAlchemy 使用手工编写的 SQL 从 PG 数据库中获取数据 我正在尝试一个包含类似 SQL 运算符 的查询 这似乎会导致 SqlAlcjhemy 陷入循环 sql SELECT DISTINCT u name fr
  • 如何禁用一行上的行组扩展功能?

    在没有任何特定解决方案的情况下进行了大量搜索之后 我不得不问这个问题 我想要的是隐藏单个组行上的行组图标 如下图所示 我有一个组行 其中只有一条记录 该记录已显示在顶行中 我想隐藏该单条记录上的折叠图标 当组行超过一行时 仅显示折叠 展开图
  • Heroku Spring Boot 启动

    我尝试在 Heroku 上运行我的 Spring Boot 应用程序 应用程序正确启动 但之后它立即崩溃并出现以下错误 2019 03 19T11 45 28 343758 00 00 app web 1 2019 03 19 11 45
  • 有没有办法将文本表格转换为 PowerShell 对象

    有许多工具以表格格式输出数据 diskpart 就是这样的一个例子 去掉一些无关的输出 你会得到这样的结果 Disk Status Size Free Dyn Gpt Disk 0 Online 136 GB 0 B Disk 1 Offl
  • Tortoisesvn - 缺少设置 - 使用“_ svn”而不是“.svn”

    我刚刚从 SVN 1 6 更新到 SVN 1 7 我的图标叠加层未显示 在查看 1 7 中 SVN 的设置时 我不再可以选择使用 svn 目录 这可能就是我遇到问题的原因 有谁知道如何让 SVN 1 7 再次使用 svn 目录 这是我在新版
  • CompletableFutures 并根据内部值进行过滤

    我现在有点困惑 所以我有一个应该返回的方法CompletableFuture
  • 实体框架代码首先插入方法挂钩

    我正在尝试将审核日志附加到我编写的实体中 我想知道是否存在可以覆盖的上下文中的挂钩以提供所需的功能 我想做的是 插入时运行方法 A 更新时运行方法 B 删除时运行方法C 我可以手动将其添加到控制器中 但我更喜欢更具体的解决方案 所需的效果是