Insertonsubmit方法asp.net

时间:2014-04-15 21:16:45

标签: c# asp.net linq linq-to-sql linq-to-entities

我想在asp.net中使用linq在我的表中插入一行,我有一些麻烦。我对此进行了大量搜索,并在各处找到了相同的解决方案:

context.entity.InsertOnSubmit(variable);

所以,我没有InsertOnSubmit方法,我需要做一些特别的事情来使用它吗?我有using System.Web.Linq

为了解决这个问题,我尝试了:

context.entity.Add(variable);
context.SaveChanges();

结果是错误,如:

  

“更新条目时发生错误。有关详细信息,请参阅内部异常。”
  细节:   “无效的对象名称'ConnectionStringModelStoreContainer.user'。”

你有什么建议?

3 个答案:

答案 0 :(得分:1)

  1. InsertOnSubmit是一个Linq2Sql概念,用于向数据库添加行。 SubmitChanges用于保存更改。
  2. Entity.Add是一个实体框架概念。使用保存更改。
  3. 在您的情况下,您似乎正在使用Entity Framework.

    检查您的EDMX文件和数据库以查看任何表格不匹配。

    具体来说,

    1. 转到您的连接字符串(在配置中或更好的是通过断点)
    2. 使用该确切的连接字符串
    3. 登录该SQL Server
    4. 验证用户表是否存在。

答案 1 :(得分:0)

使用Linq2SQL时,您需要访问要插入的表context.TableName.InsertOnSubmit(value),其中TableName是dbml文件中表的名称,值是创建的该类的isntance为了你。调用InsertOnSubmit()方法后,需要调用context.SubmitChanges()方法将其实际保存到表中。此外,根据您创建dbml文件的方式,上下文中的表名称为复数。例如:对于User表,它可能看起来像context.Users.InsertOnSumbit(user);

答案 2 :(得分:0)