1

我正在尝试在 WP7 Mango 项目中实现 SQL CE,但现在当我尝试将对象插入/保存到我的数据库时遇到此错误。

我的代码如下:

public static void Save(MyObject myobject)
    {
        using (DBDataContext dc = new DBDataContext(DBDataContext.ConnectionString))
        {
            dc.MyObject.InsertOnSubmit(myobject);
            dc.SubmitChanges();
        }
    }

当代码到达 insertonsubmit 行时,它会中断

MissingMethodException was unhandled
MissingMethodException

这就是它告诉我的全部内容。

调用堆栈:

mscorlib.dll!System.Activator.InternalCreateInstance(System.Type type, bool nonPublic, ref System.Threading.StackCrawlMark stackMark) + 0xe4 bytes  
mscorlib.dll!System.Activator.CreateInstance(System.Type type) + 0x2 bytes  
System.Data.Linq.dll!System.Data.Linq.WorkAround.ActivationHelper.CreateInstance(System.Type type)  
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.CreateDataCopy(object instance) + 0x12 bytes    
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.StartTracking() + 0x16 bytes    
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.OnPropertyChanging(object sender, System.ComponentModel.PropertyChangingEventArgs args) + 0x16 bytes  
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.Attach(object obj) + 0x1f bytes   
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(System.Data.Linq.Mapping.MetaType mt, object obj, System.Collections.Generic.Dictionary<object,object> visited, bool recurse, int level) + 0x4e bytes   
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(object obj, bool recurse) + 0x1d bytes  
System.Data.Linq.dll!System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(object obj) + 0x3 bytes 
System.Data.Linq.dll!System.Data.Linq.Table<FotoDok.EkstraFeltMulighed>.InsertOnSubmit(FotoDok.EkstraFeltMulighed entity) + 0xac bytes  

FotoDok.dll!FotoDok.EkstraFeltMulighed.Gem(FotoDok.EkstraFeltMulighed ekstrafeltmulighed) 第 70 行 + 0xc 字节 C# FotoDok.dll!FotoDok.opdaterProjekter.behandlProjektJson(Newtonsoft.Json.Linq.JObject o) 第 202 行 + 0x7 字节 C# FotoDok.dll FotoDok.opdaterProjekter.ReadCallbackValgteProjekter.AnonymousMethod__1(System.Windows.Controls.CheckBox delChk, Newtonsoft.Json.Linq.JObject delO) 第 141 行 + 0x7 字节 C# mscorlib.dll!System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo rtmi , 对象 obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, 对象参数, System.Globalization.CultureInfo 文化, bool isBinderDefault, System.Reflection.Assembly caller, bool verifyAccess, ref System.Threading.StackCrawlMark stackMark)
mscorlib.dll!System.Reflection.RuntimeMethodInfo.InternalInvoke(object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfoculture, ref System.Threading.StackCrawlMark stackMark) + 0x168 字节 mscorlib.dll!System.Reflection.MethodBase.Invoke(object obj, object[] 参数) + 0xa 字节
mscorlib.dll!System.Delegate.DynamicInvokeOne(object[] args) + 0x98 字节
mscorlib.dll!System.MulticastDelegate .DynamicInvokeImpl(object[] args) + 0x8 字节
mscorlib.dll!System.Delegate.DynamicInvoke(object[] args) + 0x2 字节
System.Windows.dll!System.Windows.Threading.DispatcherOperation.Invoke() + 0xc 字节
System.Windows.dll!System.Windows.Threading.Dispatcher.Dispatch(System.Windows.Threading.DispatcherPriority 优先级) + 0x83 字节
System.Windows.dll!System.Windows.Threading.Dispatcher.OnInvoke(对象上下文) + 0x8 字节System.Windows.dll!System.Windows.Hosting.CallbackCookie.Invoke(object[] args) + 0x19 字节 System.Windows.dll!System.Windows.Hosting.DelegateWrapper.InternalInvoke(object[] args) + 0x2 字节系统。 Windows.RuntimeHost.dll!System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(System.IntPtr pHandle, int nParamCount, System.Windows.Hosting.NativeMethods.ScriptParam[] pParams, ref System.Windows.Hosting.NativeMethods.ScriptParam pResult) + 0x5e 字节 [外部代码]

我已经设法插入其他对象,使用相同的方法就好了,但我不知道是什么让这个对象有任何不同。

4

2 回答 2

1

我自己解决了这个问题,在谷歌上搜索了更多关于它的信息(典型的,搜索了几个小时,然后在这里发帖后我偶然发现了一个答案..)

Aparrently 我的课程必须有一个空的构造函数,如果他们没有出现错误。所以向我的类添加空构造函数解决了它。

于 2012-01-19T07:41:01.440 回答
0

我想补充一点,构造函数必须是公共的。我有同样的问题,但在我的模型类中,我有空的内部构造函数。

于 2012-11-26T19:50:05.393 回答