我正在使用EF的代码优先方法。我的代码在我的本地开发人员计算机上运行正常但是在生产中我遇到了奇怪的行为,经过一段时间后,我的一个对象将不再插入并抛出错误。
我怀疑这可能是我对DatabaseGeneratedOption.Identity
的使用,因为我的用户没有遇到此问题。
直到昨天我才能插入这个物体然后今天早上我现在不能。我的设置如下:
用户
[Key]
[DataMember]
public Guid UserID { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
public ICollection<Fish> Fish { get; set; }
鱼
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[DataMember]
public Guid FishID { get; set; }
[DataMember]
public Guid UserID { get; set; }
[DataMember]
public virtual User User { get; set; }
[DataMember]
public string Title { get; set; }
[DataMember]
public string Description { get; set; }
更新
错误:“更新条目时发生错误。有关详细信息,请参阅内部异常。”
接下来我有:
在SyncInvokeCreateUserFish(Object,Object [],Object [])处 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象 实例,对象[]输入,对象[]&amp;输出) System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&安培; rpc)at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
更新
我重新启动了服务器,现在我再次能够插入一个新的“Fish”。这是否表明SQL Server 2008 r2 / WCF而不是EF?
存在问题