zoukankan      html  css  js  c++  java
  • Linq To Entity 中删除出错的原因分析 jerry

               using (SysPortalEntities sys = new SysPortalEntities())
                {
                    var query = sys.BS_RequestClassItem.Where(EntityExtension.Contains<BS_RequestClassItem, string>(c => c.sCreator, userID)).Where(r=>r.nRequestClassID==requestClassID);

                    foreach (var item in query)
                    {
                        sys.DeleteObject(item);
                    }

                    try
                    {
                        if (sys.SaveChanges() > 0)
                            return true;
                        else
                            return false;

                   }

                   catch

                  {

                  }

    在这段代码执行数据删除时,由Catch 捕捉到以下错误:

      无法更新 EntitySet“BS_RequestClassItem”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <DeleteFunction> 元素。

    分析:

          在设定断点跟踪时,发现由于  "数据表" 中没有设定主键, Linq 在执行删除时,无法标识到具体要删除的行。所以无法删除。

    解决方法:

         在表中设定主键。

  • 相关阅读:
    关于测试准备工作的要求--测试用例
    测试用例设计:PICT的安装及使用
    导师应该做什么
    黑盒测试流程
    工作职责及内容
    自己在项目中写的一个Jquery插件和Jquery tab 功能
    Javascript中的" "
    Jquery.ajax 详细解释 通过Http请求加载远程数据
    Jquery中的toggle()方法
    Umbraco examine search media folder 中的pdf文件
  • 原文地址:https://www.cnblogs.com/mbailing/p/1857474.html
Copyright © 2011-2022 走看看