NHibernate問題求大神解決!!!

来源:https://www.cnblogs.com/dingyiyyq/archive/2018/12/07/10081843.html
-Advertisement-
Play Games

這是我定義的實體類 對應的資料庫表 映射文件 數據訪問層寫的是插入語句 錯誤: 捕捉到 NHibernate.Exceptions.GenericADOException HResult=-2146232832 Message=could not insert: [DaYou.Yun.Entity. ...


這是我定義的實體類

對應的資料庫表

映射文件

數據訪問層寫的是插入語句

錯誤:

捕捉到 NHibernate.Exceptions.GenericADOException
HResult=-2146232832
Message=could not insert: [DaYou.Yun.Entity.Entities.SubscriptionEntity][SQL: INSERT INTO Subscription (MembershipId, Subscription_number, ProductId, CreateTime, AuditTime, AdminId, Remarks, State) VALUES (?, ?, ?, ?, ?, ?, ?, ?); select SCOPE_IDENTITY()]
Source=NHibernate
SqlString=INSERT INTO Subscription (MembershipId, Subscription_number, ProductId, CreateTime, AuditTime, AdminId, Remarks, State) VALUES (?, ?, ?, ?, ?, ?, ?, ?); select SCOPE_IDENTITY()
StackTrace:
在 NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Boolean[] notNull, SqlCommandInfo sql, Object obj, ISessionImplementor session)
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Object obj, ISessionImplementor session)
在 NHibernate.Action.EntityIdentityInsertAction.Execute()
在 NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
在 NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object entity, Object id, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
在 NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
在 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event)
在 NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event)
在 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event)
在 NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
在 NHibernate.Impl.SessionImpl.Save(Object obj)
在 DaYou.Yun.Biz.Dao.SubscriptionDao.GetSubscriptionlistByInsert(SubscriptionEntity Subscription) 位置 e:\DaYouYun\DaYou.Yun.Biz\Dao\SubscriptionDao.cs:行號 52
在 DaYou.Yun.Biz.Dao.BaseAPI.SubscriptionAPI.GetSubscriptionlist(SubscriptionEntity Subscription) 位置 e:\DaYouYun\DaYou.Yun.Biz\Dao\BaseAPI\SubscriptionAPI.cs:行號 21
在 DaYou.Yun.WebApi.Controllers.OrderController.CreateOrder(String Ids, Int32 DeliveryAdd, String ApiOrderProductEntity, Int32 BusinessType, Int32 Authentiction) 位置 e:\DaYouYun\DaYou.Yun.WebApi\Controllers\OrderController.cs:行號 369
InnerException: System.Data.SqlClient.SqlException
HResult=-2146232060
Message=INSERT 語句與 FOREIGN KEY 約束"FK_Subscription_Admin"衝突。該衝突發生於資料庫"DaYouYun",表"dbo.Admin", column 'AdminId'。
語句已終止。
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
class="16"
LineNumber=1
Number=547
Procedure=""
Server=192.168.0.132
State=0
StackTrace:
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
在 System.Data.SqlClient.SqlDataReader.get_MetaData()
在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
在 NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
在 NHibernate.Id.IdentityGenerator.InsertSelectDelegate.ExecuteAndExtract(IDbCommand insert, ISessionImplementor session)
在 NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
InnerException:

資料庫註意id這些數據是我手動插入的

id不是從一開始程式中插入的數據不在但是id自增了:

有人能幫我解決一下嗎?


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 開始講解之前,先列出本章的提綱,如下圖所示: 5.1 String類 5.1.1 聲明字元串 5.1.2 創建字元串 輸出結果如下圖所示: 5.2 連接字元串 5.2.1 連接多個字元串 註意事項:Java中一句相連的字元串不能分開在兩行中寫,如下圖所示 可以看出,這種寫法是錯誤,無法編譯通過,如果 ...
  • 很久之前,就有同學問我CYQ.Data能不能支持下PostgreSQL,之後小做了下調查,發現這個資料庫用的人少,加上各種因素,就一直沒動手。 前兩天,不小心看了一下Github上的消息:看到這個問題又被重新提了出來了,於是,鬧吧! ...
  • 一、socket簡介 socket就是套接字,它是引用網路連接的特殊文件描述符,由三個基本要素組成: 1: AddressFamily(網路類型) 2: SocketType(數據傳輸類型) 3:ProtocolType(採用的網路協議) 下麵是可用於IP通信的套接字組合及其常用的屬性和方法 二、s ...
  • 1 public class ActionFilter : IActionFilter 2 { 3 4 /// 5 /// action 執行之前 6 /// 7 /// 8 public void OnActionExecuting(ActionExecutingContext co... ...
  • using System.Web.Routing; //重寫System.Web.Routing中Initialize方法 protected override void Initialize(RequestContext requestContext) { base.Initialize(requ... ...
  • 一、搭建項目 1、創建一個ASP.NET Core MVC 項目 2、nuget 下載和安裝 MicroSoft.AspNetCore.SignalR vs提示版本衝突 這時我們選擇低版本即可 二、SignalR配置 1、在model中創建一個類MyHub 代碼如下 public class MyH ...
  • delegate void del(); class MyClass1 { public event del eventcount;//創建事件併發布 public void Count() { for (int i = 0; i < 100; i++) { ... ...
  • public class NullToEmptyStringResolver : DefaultContractResolver { /// /// 創建屬性 /// /// 類型 /// 序列化成員 /// protected override IList Creat... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...