这是我定义的实体类

\"\"

对应的数据库表

\"\"

映射文件

\"\"

数据访问层写的是插入语句

错误:

捕捉到 NHibernate.Exceptions.GenericADOException
HResult=-2146232832
Message=could not insert: [DaYou.Yun.Entity.Entities.Sub ionEntity][SQL: INSERT INTO Sub ion (MembershipId, Sub ion_number, ProductId, CreateTime, AuditTime, AdminId, Remarks, State) VALUES (?, ?, ?, ?, ?, ?, ?, ?); select SCOPE_IDENTITY()]
Source=NHibernate
SqlString=INSERT INTO Sub ion (MembershipId, Sub ion_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( [] fields, Boolean[] notNull, SqlCommandInfo sql, obj, ISessionImplementor session)
在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert( [] fields, obj, ISessionImplementor session)
在 NHibernate.Action.EntityIdentityInsertAction.Execute()
在 NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
在 NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate( entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.AbstractSaveEventListener.PerformSave( entity, id, IEntityPersister persister, Boolean useIdentityColumn, anything, IEventSource source, Boolean requiresImmediateIdAccess)
在 NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId( entity, String entityName, 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( obj)
在 DaYou.Yun.Biz.Dao.Sub ionDao.GetSub ionlistByInsert(Sub ionEntity Sub ion) 位置 e:\\DaYouYun\\DaYou.Yun.Biz\\Dao\\Sub ionDao.cs:行号 52
在 DaYou.Yun.Biz.Dao. API.Sub ionAPI.GetSub ionlist(Sub ionEntity Sub ion) 位置 e:\\DaYouYun\\DaYou.Yun.Biz\\Dao\\ API\\Sub ionAPI.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_Sub ion_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. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserState stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserState stateObj, Boolean& dataReady)
在 System.Data.SqlClient.SqlDataReader.TryConsume Data()
在 System.Data.SqlClient.SqlDataReader.get_ Data()
在 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自增了:

\"\"

有人能帮我解决一下吗?

收藏 打印