gpt4 book ai didi

c# - "SaveChanges() "方法错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:34 25 4
gpt4 key购买 nike

我正在使用 Oracle 数据库和 ASP.net MVC4 创建一个应用程序。即使在代码中看起来没有问题,调用 SaveChanges()方法导致此处显示的错误:

enter image description here

这张图片显示了内部异常和相关细节

enter image description here

这是我为保存更改所做的实现

if (ModelState.IsValid)
{
ModelState.Clear();

using (SSP_Entities database = new SSP_Entities())
{
database.REQUEST_TAB.Add(c_modal.Request_tab);
database.SaveChanges();
caseID = c_modal.Request_tab.CASE_ID;
return RedirectToAction("NewEnv", cpe);
}
}

我在 View 中使用以下代码

    <%:Html.HiddenFor(model => model.request_tab.ROWVERSION, new { @Value="date"}) %>
<%:Html.HiddenFor(model => model.request_tab.CASE_ID, new { @Value=100}) %>
<%:Html.HiddenFor(model => model.request_tab.REQUEST_BY, new { @Value="PUSNLK"}) %>
<%:Html.HiddenFor(model => model.request_tab.REQUEST_ID, new { @Value=334}) %>
<%:Html.HiddenFor(model => model.request_tab.REQUEST_TYPE, new { @Value="CPE"}) %>
<%:Html.HiddenFor(model => model.request_tab.STATE, new { @Value="POSTED"}) %>
<%:Html.HiddenFor(model => model.request_tab.COMMENTS, new { @Value="CPE Order"}) %>

这是我正在使用的模型

namespace CPEASPX.Models
{
using System;
using System.Collections.Generic;

public partial class REQUEST_TAB
{
public decimal REQUEST_ID { get; set; }
public string REQUEST_BY { get; set; }
public decimal CASE_ID { get; set; }
public string STATE { get; set; }
public string REQUEST_TYPE { get; set; }
public string ROWVERSION { get; set; }
public string COMMENTS { get; set; }
}
}

我尝试了其他地方显示的一些解决方案。首先我改变了<appSettings>web.config通过添加

文件
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
<add key="aspnet:MaxJsonDeserializerMembers" value="5000" />
<add key="aspnet:MaxHttpCollectionKeys" value="10000" />

行到它。但问题仍然存在。我找不到客户端和服务器数据类型之间的任何不匹配。

请帮我解决这个问题。

这里我将两个模型传递给一个 View 。我为此创建了以下组合模型(c_model 是此类的对象)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace CPEASPX.Models
{
public class CombineModal
{
public REQUEST_TAB request_tab = new REQUEST_TAB();

public REQUEST_TAB Request_tab
{
get { return request_tab; }
set { request_tab = value; }
}


public CPE cpe = new CPE();

public CPE Cpe
{
get { return cpe; }
set { cpe = value; }
}
}
}

这里说我正在将 CPE 模型传递给它,但我只传递了包含 CPE 模态和 Request_tab 模态的组合模型。

这是我在 View 中用来继承模态类的代码

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<CPEASPX.Models.CombineModal>" %>

最佳答案

我认为您需要分配每个属性而不是添加整个类。

using (SSP_Entities database = new SSP_Entities())
{
var requestTab = new RequestTab
{
REQUEST_ID = c_modal.Request_tab.REQUEST_ID,
REQUEST_BY = c_modal.Request_tab.REQUEST_BY,
CASE_ID = c_modal.Request_tab.CASE_ID,
STATE = c_modal.Request_tab.STATE,
REQUEST_TYPE = c_modal.Request_tab.REQUEST_TYPE,
ROWVERSION = c_modal.Request_tab.ROWVERSION,
COMMENTS = c_modal.Request_tab.COMMENTS
};

database.REQUEST_TAB.Add(requestTab);
database.SaveChanges();
}

关于c# - "SaveChanges() "方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27501701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com