【问题标题】:[LINQ]InsertOnSubmit NullReferenceException[LINQ]InsertOnSubmit NullReferenceException
【发布时间】:2011-01-27 09:03:05
【问题描述】:

我对 LinqToSql 有一个相当烦人的问题。我创建了一个派生自 DataContext 中的类的类。

问题是,一旦我使用“InsertOnSubmit(this);”在这个派生类上,我得到一个 NullReferenceException。

我见过一些人有同样的问题。但是他们使用了自定义构造函数并通过调用“:this()”解决了这个问题,就像这个线程http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/0cf1fccb-6398-4f16-920b-adef9dc4ac9f

不同之处在于我使用了一个默认构造函数,它会导致调用基本构造函数,所以应该没有任何问题!

有人可以帮我解决这个问题,开始烦人了!

谢谢:)

【问题讨论】:

  • 你能发布你在抛出异常时得到的堆栈跟踪吗?这是找出异常的最佳起点。
  • 当然! InsertOnSubmit(TEntity entity) MDK.Security.Messaging.Message.Send() 在 E:\Users\Kurt\Documents\Visual Studio 2008\Projects\MDK\MDK.Security\Messaging\Message.cs:第 62 行 MDK.Tests。 E:\Users\Kurt\Documents\Visual Studio 2008\Projects\MDK\MDK.Tests\MessagingTests.cs 中的 MessagingTests.UsersCanSendMessages():第 89 行
  • 重复:stackoverflow.com/questions/499436/… 等。它们都有两种解决方案之一,具体取决于它是部分类还是派生类。
  • 我看到了一个 Richard Hein,但是他们要么创建了一个部分类(我不想这样做),要么他们使用了“:this()”,我已经完成但没有进一步成功

标签: c# linq insertonsubmit


【解决方案1】:

这是一种方式:https://stackoverflow.com/....

如果您只是想预填充一些字段,另一种方法可能是:

partial class MyLinqClass {
    string Text = "Default";

    public MyLinqClass AsOne() {
        Text = "One";
        ...
        return this;
    }
}

var x = new MyLinqClass().AsOne();
context.InsertOnSubmit(x); // x is type MyLinqClass

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多