找不到 InsertOnSubmit() 方法

2023-12-09

我是实体框架的新手,我认为我在这里误解了一些东西。 我试图在表中插入一行,在我找到的代码示例中,他们都调用方法 InsertOnSubmit(),但问题是我在任何地方都找不到方法 InsertOnSubmit 或 SubmitChanges。

错误告诉我: System.Data.Object.ObjectSet 不包含 InsertOnSubmit 的定义,...

我做错了什么??

http://msdn.microsoft.com/en-us/library/bb763516.aspx

        GMR_DEVEntities CTX;
        CTX = new GMR_DEVEntities();
        tblConfig Config = new tblConfig { ID = Guid.NewGuid(), Code = "new config code" };
        CTX.tblConfigs.InsertOnSubmit(Config); // Error here

编辑: 在固件 4.0 上使用 Visual Studio 2010


InsertOnSubmit是一种 Linq-to-SQL 方法,不在实体框架中。

但是,由于我们的项目是从 Linq 到 SQL 的转换,因此我们有一些可能有帮助的扩展方法:

public static class ObjectContextExtensions
{
    public static void SubmitChanges(this ObjectContext context)
    {
        context.SaveChanges();
    }

    public static void InsertOnSubmit<T>(this ObjectQuery<T> table, T entity)
    {
        table.Context.AddObject(GetEntitySetName(table.Context, entity.GetType()), entity);
    }

    public static void InsertAllOnSubmit<T>(this ObjectQuery<T> table, IEnumerable<T> entities)
    {
        var entitySetName = GetEntitySetName(table.Context, typeof(T));
        foreach (var entity in entities)
        {
            table.Context.AddObject(entitySetName, entity);
        }
    }

    public static void DeleteAllOnSubmit<T>(this ObjectQuery<T> table, IEnumerable<T> entities) where T : EntityObject, new()
    {
        var entitiesList = entities.ToList();
        foreach (var entity in entitiesList)
        {
            if (null == entity.EntityKey)
            {
                SetEntityKey(table.Context, entity);
            }

            var toDelete = (T)table.Context.GetObjectByKey(entity.EntityKey);
            if (null != toDelete)
            {
                table.Context.DeleteObject(toDelete);
            }
        }
    }

    public static void SetEntityKey<TEntity>(this ObjectContext context, TEntity entity) where TEntity : EntityObject, new()
    {
        entity.EntityKey = context.CreateEntityKey(GetEntitySetName(context, entity.GetType()), entity);
    }

    public static string GetEntitySetName(this ObjectContext context, Type entityType)
    {
        return EntityHelper.GetEntitySetName(entityType, context);
    }
}

Where EntityHelper根据 MyExtensions开源library.

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

找不到 InsertOnSubmit() 方法 的相关文章

随机推荐

  • 核心动画围绕任意点旋转图层

    如何使用核心动画围绕任意点旋转图层 在我的例子中 一个点不在我想要旋转的图层内部 我更喜欢在不更改锚点的情况下执行此操作 因为除非每次更改锚点时出现错误 否则它也会更改图层的位置 我尝试了类似的方法 但没有成功 UIImageView be
  • strtol 使用 errno

    我有以下代码 include
  • 方法 findViewById(int) 未定义

    我是 Android 开发新手 我正在尝试编写一个小应用程序 它允许我获取外部 JSON 文件并解析它 我让它工作了 但是如果我尝试在后台执行它 它就不会工作AsyncTask Eclipse 给我错误 对于 LongOperation 类
  • 如何清除tomcat中的PermGen space错误

    我在 Windows 环境中工作 每次使用 tomcat 时都会收到此错误 Apr 30 2012 5 30 37 PM org apache catalina core StandardWrapperValve invoke SEVERE
  • 在 Java 中读取奇怪的 unicode 字符?

    我有以下文本文件 文件以utf 8编码保存 我使用以下代码来读取文件的内容 FileReader fr new FileReader f txt BufferedReader br new BufferedReader fr String
  • Canvas for Node.js 在本地工作但不能在 Heroku 服务器上工作

    我正在使用帆布包对于 Node js 它在我的计算机上运行良好 但当我将其上传到我的 Heroku 服务器时 它不起作用 我所说的 工作正常 是指画布包已正确安装npm install canvasNode js 应用程序按预期工作 但是
  • JTable 不使用 CTRL 进行多选

    我正在尝试更改 JTable 的选择行为 以便能够在不使用 CTRL 修饰符的情况下向选择添加和删除行 方法 public void changeSelection int rowIndex int columnIndex boolean
  • 使用VBA从PPT中提取文本并将其粘贴到Excel中

    我需要从 PowerPoint 演示文稿中的文本框中提取数据 并将它们放入 Excel 工作表中的相应单元格中 我已经搜索过但找不到合适的解决方法 此代码用于打印幻灯片中的文本 我不明白如何在 Excel 单元格中排列它 Dim oPApp
  • 从 neo4j 中删除标签引用

    在从电子表格导入大量数据时 我尝试使用标签约定 其中节点大写 如 This 关系标签标记为 THIS 在一个例子中 我不小心对一组节点使用了关系标签格式 然后我删除了这些节点并使用正确的标签格式重新导入它们 附带问题 有没有办法重命名我没有
  • 地点详细信息 API 的短名称的更改

    Google 响应的格式是否发生变化 几天以来 当我使用与国家 地区对应的 place id 参数查询 API 时 我不再获得任何国家 地区代码 alpha2 例如 Query for France http maps googleapis
  • 线程处理时文本框不会更新

    这是名为 Blahing 的模块内的子代码 Sub BlahBlah ByVal Count As Long For i As Long 0 To Count frmBlaher txtBlah Appendtext Blah Next E
  • 用波浪边框 SVG 路径填充 div

    我想填写 div 使用颜色并向边框添加阴影 但我的代码正在执行此操作 我实际上需要它 如图所示 div
  • 为什么在cmd中使用“set var = text”命令后没有“echo %var%”字符串输出? [复制]

    这个问题在这里已经有答案了 我在 cmd 中设置了一个变量set命令 并尝试echo it 这是一个例子 C Users Logan gt set var text C Users Logan gt set var var text C U
  • OpenCV视频采集和fps问题

    我正在 MacOSX 上使用 OpenCV 从网络摄像头捕获视频 它工作正常 但当我尝试在 QuickTime 上播放我捕获的视频时 它播放得太快了 即我从相机捕获 10 秒 但当我在 QuickTime 上播放时 视频为 2 秒 我尝试将
  • 如何使用Python创建Windows服务

    我编写了一个 python 脚本 它将作为 Windows 服务安装 下面是代码 import datetime import logging from logging handlers import RotatingFileHandler
  • ActionScript 中的普通对象和强类型对象哪个更快?

    So is public var user Object user firstName Bill user lastName Cosby 比我有像 User 这样的值对象慢吗 var user User new User user firs
  • 如何从服务器读取消息? (TCP)

    客户端写入服务器 服务器读取 服务器写入客户端 客户端不读取 Server using System using System Text using System Net using System Net Sockets using Sys
  • 为什么Java中的“this”关键字是final的? [复制]

    这个问题在这里已经有答案了 这似乎是一件几乎没有人意识到的事情 但Java中的 this引用 是最终的 在正常的编程日中 我认为我可以通过在自己的类中重新定义 this 引用来重新定义整个实例 public void method this
  • 1D numpy 数组,在新的 2D 数组中每个连续行向右移动

    我试图通过删除 for 循环并仅在处理大型数据集时使用 numpy 数组来优化一些代码 我想采用一维 numpy 数组 例如 a 1 2 3 4 5 并生成一个 2D numpy 数组 其中每列中的值沿着一个位置移动 例如在上面的情况下 我
  • 找不到 InsertOnSubmit() 方法

    我是实体框架的新手 我认为我在这里误解了一些东西 我试图在表中插入一行 在我找到的代码示例中 他们都调用方法 InsertOnSubmit 但问题是我在任何地方都找不到方法 InsertOnSubmit 或 SubmitChanges 错误