如何将具有外键的表更新到 ADO.Net 实体模型中的另一个表?

2023-11-26

我有 2 个表,Table1 有一个主键“CustomizationId”,Table2 有一个与此匹配的 FK Customizationid。 Table2 没有主键。

我正在尝试从基于网络的表单添加新记录。我尝试将其保存到数据库中,但收到错误:

            Customization customization = new Customization();
            Code code = new Code();
            customization.Name = CustomizationName.Text;               
            customization.LastUpdated = DateTime.Now;

            code.Top = top_js.InnerText;
            code.Bottom = bottom_js.InnerText;

            //code.CustomizationId = customization.CustomizationId;

            customization.Code = code;              
            entities.AddToCustomizations(customization);
            entities.SaveChanges();

当我调用 SaveChanges 时,无论我是否在注释行中添加,都会收到错误。

Unable to update the EntitySet 'Code' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

我该如何处理这种情况?我只想在添加自定义的同时添加代码。 “代码”表应将 Customizationid 设置为 Customization 设置的 PK/Identity。

有任何想法吗?


就 EF 而言,没有 PK 的表是一个视图。

这意味着您有两个选择:

  1. 撒个善意的谎言,让 EF 相信“视图”是一个表
  2. 添加修改功能(插入/更新/删除)以便您可以编辑它们。

通常修改函数是存储过程,但如果您无权访问数据库,实际上可以将 T-SQL 直接添加到 SSDL...

IE。像这样的东西<StorageModel>每个操作(插入、更新和删除)的 EDMX 元素:

<Function Name="InsertCode" BuiltIn="false" IsComposable="false" >
       <CommandText>
                INSERT dbo.TCode(ID, Name) VALUES (@ID, @Name)
       </CommandText>
       <Parameter Name="ID" Type="int" Mode="In" />
       <Parameter Name="ID" Type="nvarchar(max)" Mode="In" />
</Function>

一旦你的 SSDL 中有修改函数,你需要map them以便 EF 根据需要使用它们。

根据您的情况,我建议(1)。

希望这可以帮助。

干杯 亚历克斯

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

如何将具有外键的表更新到 ADO.Net 实体模型中的另一个表? 的相关文章

随机推荐

  • 带有 x-www-form-urlencoded 数据的 Angular 6 http post 请求

    我一直在尝试向我支持的 API 发出发布请求以发布一些数据 我已经使用邮递员尝试过这个 API 它工作正常并且数据正确返回 然而 当我尝试从我的 ionic Angular 应用程序中执行相同操作时 它根本不起作用 我已经尝试了网上大部分可
  • 按组填写缺失日期

    在我的数据中 在某些月份中存在对某些 ID 的观察 而对其他 ID 则没有观察到 例如 dat lt data frame c 1 1 1 2 3 3 3 4 4 4 c rep 30 2 rep 25 5 rep 20 3 c 2017
  • React router 将 props 传递给路由组件

    我正在尝试使用 React Router 将 props 从 app jsx 传递到我的路由组件之一 但出现以下错误 类型错误 无法读取未定义的属性 acc 这是我的 app jsx 中的代码
  • postgres psql select 语句中默认截断显示

    我有一个带有长文本列的表格 我希望能够选择所有列 但限制文本列 而无需编写每一列 select from resources 生成的输出太长 无法在 psql 中正确显示 我可以通过使用来显示一些东西substr or left 在长列上
  • 鼠标在地图上点击的位置信息 GMap.net

    我正在与 GMap net 一个使我们能够在 Win Forms 应用程序中使用 Google 地图的库 一起开发 Win Forms 应用程序 开门见山 我能够获得鼠标单击 左键单击 的坐标 纬度和经度 private void gm1
  • UICollectionViewController 以编程方式因非零布局参数错误而崩溃

    我正在创建一个UICollectionViewController以编程方式 不 我不想像每个教程一样使用 IB 和故事板 我只想使用纯代码 这是我的viewDidLoad UICollectionView UICollectionView
  • 如何使用 Homebrew 在 macOS 上安装支持 PCRE 的 Git?

    当我跑步时 git grep P
  • 迁移到 AndroidX 后 AppBarLayout 膨胀错误

    当迁移到AndroidX我遇到了这个问题 Java lang RuntimeException Unable to start activity ComponentInfo com mandarine android com mandari
  • Google Cloud Functions 包含私有库

    我正在寻找在节点中编写一个自定义库 并且希望将其包含在我的云函数中 由于这是共享代码 我希望能够在我的所有云功能中使用它 编写共享代码库并让多个云函数访问该库的最佳方式是什么 例如 假设我有两个云函数 functionS 和 functio
  • ReferenceError:PF 未定义

    我尝试过通知栏PrimeFaces 的示例 但是它不起作用 我收到以下 JS 错误 ReferenceError PF 未定义 我想我需要在使用之前包含一个库PF 函数 但我不知道哪个库以及在哪里可以找到它 JS 函数PF 仅从 4 0 开
  • Python3 - 使用 Socks5 代理的请求

    有没有办法使用socks5代理来使用TOR处理请求 我知道请求只使用http代理 import requests r requests get http www google com proxies my proxy 您可以使用socks
  • 通过反射获取Java中类的公共静态最终字段/属性的值

    假设我有一堂课 public class R public static final int 1st 0x334455 我怎样才能得到的值 1st 通过反射 首先检索类的字段属性 然后您可以检索值 如果您知道类型 则可以使用带有 null
  • 通过单击弹出窗口外部来关闭弹出窗口 javascript

    我使用本教程将弹出窗口添加到我的网页 有没有一种方法可以使当您单击弹出窗口外部 单击另一个弹出窗口时关闭弹出窗口 我尝试按照这篇文章添加一个invisibleDiv通过单击外部来关闭弹出的 div但弹出窗口仍然仅在单击按钮本身时才会移动 h
  • 有没有办法在 Visual Studio Code 中设置环境变量?

    如何在 Visual Studio Code 中设置环境变量 假设您的意思是调试会话 那么您可以包括env您的财产启动配置 如果您在工作区中打开 vscode launch json 文件或选择 调试 gt 打开配置 那么您应该会看到一组用
  • 如何在 html-webpack-plugin 中注入自定义元标记?

    我将 Webpack 与插件一起使用html webpack plugin 基于环境变量 我想注入一个标记进入决赛index html file 我该怎么做呢 您可以定义自己的模板 中简要提到了编写您自己的模板您可以将任何您想要的选项传递给
  • TypeScript 中元组的通用类型包装

    我需要向映射元组元素的函数添加类型声明 Foo a Foo b 到一个函数 gt A B 我怎样才能在 TypeScript 中实现这一目标 此示例在结构上与应用程序的相关部分类似 interface SomethingWithAValue
  • 使用内连接更新?

    我有两个数据库 DB1 and DB2 如何做类似的事情 update myServer DB1 dbo hotels Name myServer DB2 dbo hotels Name join myServer DB2 dbo hote
  • 删除变量(如果存在)的正确方法

    我尝试这样做 def create l if l in globals l destroy l Listbox root 这工作正常 但它返回语法警告 Warning from warnings module File C Users Us
  • 如何在 django 中对文件上传进行单元测试

    在我的 django 应用程序中 我有一个完成文件上传的视图 核心代码片段是这样的 if request method POST if request FILES has key file file request FILES file w
  • 如何将具有外键的表更新到 ADO.Net 实体模型中的另一个表?

    我有 2 个表 Table1 有一个主键 CustomizationId Table2 有一个与此匹配的 FK Customizationid Table2 没有主键 我正在尝试从基于网络的表单添加新记录 我尝试将其保存到数据库中 但收到错