标签: insertonsubmit

在LINQ to SQL中执行InsertOnSubmit时出现NullReferenceException

在我的数据库中,我有一个名为StaffMembers的表

当我通过linq-to-sql将它带入我的.net项目时,会创建一个实体类StaffMember

现在我还在我的项目中创建了一个部分类StaffMember,以添加我在其他顶层使用的额外属性.例如.IsDeleted属性.此partial类还继承了一个抽象类和接口,以确保还实现了一些其他属性.

现在当我创建一个新的"StaffMember"实例时

例如.StaffMember newStaff = new StaffMember(); 并赋予其所有属性等

然后通过我的Manager调用上下文中的InsertOnSubmit.

Add(StaffMember newStaff)
{
     context.StaffMembers.InsertOnSubmit(newStaff);
     context.Save();
}
Run Code Online (Sandbox Code Playgroud)

我得到一个"对象引用没有设置为对象的实例"错误.

on context.StaffMembers.InsertOnSubmit(newStaff);

堆栈说

"   at System.Data.Linq.Mapping.EntitySetDefSourceAccessor`2.GetValue(T instance)\r\n   at 
System.Data.Linq.Mapping.MetaAccessor`2.GetBoxedValue(Object instance)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.HasDeferredLoader(MetaDataMember deferredMember)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.get_HasDeferredLoaders()\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(MetaType mt, Object obj, Dictionary`2 visited, Boolean recurse, Int32 level)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(Object obj, Boolean recurse)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(Object obj)\r\n   at System.Data.Linq.Table`1.InsertOnSubmit(TEntity entity)\r\n   at 
BusinessObjects.StaffMemberManager.Add(StaffMember staffMember) in     
C:\\StaffMemberManager.cs:line 251"
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生这种情况以及它的方式是什么.

谢谢

c# insertonsubmit nullreferenceexception linq-to-sql

25
推荐指数
1
解决办法
5238
查看次数

找不到InsertOnSubmit()方法

我是Entity Framework的新手,我认为这里有一些我误解的东西.我试图在表中插入一行,并且在我找到代码示例的任何地方,他们调用方法InsertOnSubmit(),但问题是我找不到方法InsertOnSubmit或SubmitChanges.

错误告诉我:System.Data.Object.ObjectSet不包含InsertOnSubmit的定义,...

我做错了什么?

http://msdn.microsoft.com/en-us/library/bb763516.aspx

        GMR_DEVEntities CTX;
        CTX = new GMR_DEVEntities();
        tblConfig Config = new tblConfig { ID = Guid.NewGuid(), Code = "new config code" };
        CTX.tblConfigs.InsertOnSubmit(Config); // Error here
Run Code Online (Sandbox Code Playgroud)

编辑:在FW 4.0上使用Visual Studio 2010

linq insertonsubmit winforms

5
推荐指数
2
解决办法
9812
查看次数

提交"div contenteditable"中的文字

我正在努力找到一个有效的解决方案,但目前没什么用处.我有以下表格:

<form id="searchform" action="/search" onsubmit="putText()">
<div class="section" >
<div class="edit"><div ContentEditable = "true" id="text"></div></div>
<div class="control" onclick="sbmt()"></div>
</div>
<input id="s" name="q" class="submit" type="submit" value="Send">
</form> 
Run Code Online (Sandbox Code Playgroud)

使用以下js:

$(window).load(function(){
$(document).ready(function() {
 $('.edit').keydown(function(e) {
     if(e.which == 13) {
         //debugger;
        $(this).blur().next().focus();
        return false;
      }
 });
 })
});


function ElementInit() {
  new SectionalElement({
    sectionalNodeClassName: 'section',
    controlNodeClassName: 'control',
    background: '#f4fa58'
  }, 'sectional_element');
  return true;
}

function putText() {
  document.getElementById('s').value = document.getElementById('text').textContent;  
  return true;
}

function sbmt() {
document.getElementById("searchform").submit();
}
Run Code Online (Sandbox Code Playgroud)

(我也使用jquery-1.8.3.js)查询应该看起来像"mysite.com/search?q=".我需要的只是使用div class ="control"作为Submit按钮而不是简单的输入(只需用div替换输入按钮).当我按下输入按钮时一切正常,但是当我使用DIV class ="control"时,submision不起作用 - 表单提交,但没有查询文本.我不能只使用输入,因为提交div是第三方api的一部分. …

input submit contenteditable insertonsubmit

4
推荐指数
1
解决办法
8181
查看次数