一直在环顾四周,我似乎无法弄清楚出了什么问题.
@H_404_2@目前我正试图在玩家死亡时用新的高分来更新我的数据库.但无论我选择尝试和保存,它都会向我抛出异常.
@H_404_2@码:
Highscore hs = new Highscore(); var id = from i in db.Highscores orderby i.ID descending select i; int newId = 0; if (id.Count() == 0) { newId = 1; } else { newId = id.First().ID + 1; } hs.ID = 6; //I just hardcoded in 6 to make sure i wasent because of the newId //thing,and i have checked if theres already something on the sixths spot as well. hs.UserHighscore = 100; hs.HighscoreUsername = "test"; hs.GameID = 1; db.Highscores.AddObject(hs); db.SaveChanges();@H_404_2@我一次又一次地检查过,我似乎无法弄清问题是什么. @H_404_2@任何帮助都会得到满足. @H_404_2@例外:
System.Data.UpdateException was unhandled Message=An error occurred while updating the entries. See the inner exception for details. Source=System.Data.Entity StackTrace: at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter) at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache) at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) at System.Data.Objects.ObjectContext.SaveChanges() at MatematikSpilMenu.SaveBunniesSceen.SaveHighscore() in MatematikSpilMenu\SaveBunniesSceen.cs:line 173 at MatematikSpilMenu.SaveBunniesSceen.Update(GameTime gameTime,Boolean otherScreenIsActive,Boolean coveredByOtherScreens) in C:\Users\Etarnalazure-Alien\documents\visual studio 2010\Projects\MatematikSpilMenu\MatematikSpilMenu\MatematikSpilMenu\SaveBunniesSceen.cs:line 110 at MatematikSpilMenu.ScreenManager.Update(GameTime gameTime) in MatematikSpilMenu\ScreenManager.cs:line 101 at Microsoft.Xna.Framework.Game.Update(GameTime gameTime) at Microsoft.Xna.Framework.Game.Tick() at Microsoft.Xna.Framework.Game.HostIdle(Object sender,EventArgs e) at Microsoft.Xna.Framework.GameHost.OnIdle() at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame() at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender,EventArgs e) at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID,Int32 reason,Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason,ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason,ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at Microsoft.Xna.Framework.WindowsGameHost.Run() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Microsoft.Xna.Framework.Game.Run() at MatematikSpilMenu.Program.Main() in MatematikSpilMenu\Game1.cs:line 120 InnerException: System.Data.EntityCommandCompilationException Message=An error occurred while preparing the command definition. See the inner exception for details. Source=System.Data.Entity StackTrace: at System.Data.Mapping.Update.Internal.UpdateTranslator.CreateCommand(DbModificationCommandTree commandTree) at System.Data.Mapping.Update.Internal.DynamicUpdateCommand.CreateCommand(UpdateTranslator translator,Dictionary`2 identifierValues) at System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator,EntityConnection connection,Dictionary`2 identifierValues,List`1 generatedValues) at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter) InnerException: System.NotSupportedException Message=Server-generated keys and server-generated values are not supported by sql Server Compact. Source=System.Data.sqlServerCe.Entity StackTrace: at System.Data.sqlServerCe.sqlGen.DmlsqlGenerator.GenerateReturningsql(StringBuilder commandText,DbModificationCommandTree tree,ExpressionTranslator translator,DbExpression returning) at System.Data.sqlServerCe.sqlGen.DmlsqlGenerator.GenerateInsertsql(DbInsertCommandTree tree,List`1& parameters,Boolean isLocalProvider) at System.Data.sqlServerCe.sqlGen.sqlGenerator.Generatesql(DbCommandTree tree,CommandType& commandType,Boolean isLocalProvider) at System.Data.sqlServerCe.sqlCeProviderServices.CreateCommand(DbProviderManifest providerManifest,DbCommandTree commandTree) at System.Data.sqlServerCe.sqlCeProviderServices.CreateDbCommandDefinition(DbProviderManifest providerManifest,DbCommandTree commandTree) at System.Data.Common.DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree) at System.Data.Common.DbProviderServices.CreateCommand(DbCommandTree commandTree) at System.Data.Mapping.Update.Internal.UpdateTranslator.CreateCommand(DbModificationCommandTree commandTree) InnerException: