【问题标题】:Using LINQ to Entities, how do I insert data into a specific place in the database? [duplicate]使用 LINQ to Entities,如何将数据插入数据库中的特定位置? [复制]
【发布时间】:2011-02-08 06:10:20
【问题描述】:

我想知道以下代码(即 LINQ-to-SQL)的等效 LINQ-to-Entities 代码:

 StudentDataContext db = new StudentDataContext();
 Student newStudent = new Student();
 newStudent.SName = "Billy-Bob";
 db.InsertOnSubmit(newStudent);
 db.SubmitChanges();

换句话说,我想知道如何使用 LINQ-to-Entities 将数据插入数据库中的现有点。

更新:

我应该澄清一下,我要插入的表格与其他两个具有一对多关系的表格相关联。有没有办法让框架处理主/外键关系的更新?

更新:

找到正确答案,见How do I use LINQ-to-Entities to insert data into a specific table?

【问题讨论】:

  • 你能澄清一下你要插入的表格是在一对多的哪一端吗?是“一”还是“多”?
  • 我正在插入“许多”。要进行插入,我首先必须检索“one”的主键,然后插入“many”。我宁愿在 LINQ 中做所有事情,以避免用主/外键关系“污染”我的模型。

标签: linq linq-to-sql linq-to-entities


【解决方案1】:

直接等效的代码类似于:

StudentEntities db = new StudentEntities();
Student newStudent = new Student();
newStudent.SName = "Billy-Bob";
db.Students.AddObject(newStudent);
db.SaveChanges();

但请注意,您可能应该使用 using statement 包装 db 对象,以确保正确处理它。

【讨论】:

  • 我应该澄清一下,我要插入的表与其他两个具有一对多关系的表相关联。有没有办法让框架处理主/外键关系的更新?
【解决方案2】:

我的 L2E 已经有点生疏了,但我认为 ObjectContext 上有为您生成的方法,例如 AddToStudents(Student),您可以使用这些方法。 (在持久化新对象后调用 context.SaveChanges)

【讨论】:

    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多