实体框架将一个数据表的内容添加到同一数据库中的另一个数据表

时间:2013-03-11 11:54:13

标签: entity-framework data-binding entity

如何使用实体框架将一个数据表的记录添加到另一个数据表? 数据集如下:

    private void sourceTabletransfer()
    {
        foreach (DataRow sourceTableRow in myDataSet.Tables["sourceTable"].Rows)
        {

            DataRow destinationTablerow = myDataSet.Tables["destinationTable"].NewRow();

            destinationTablerow["date"] = sourceTableRow["date"];
            destinationTablerow["varchar1"] = sourceTableRow["varchar1"];
            destinationTablerow["int1"] = sourceTableRow["int1"];
            myDataSet.Tables["destinationTable"].Rows.Add(destinationTablerow);
        }
        this.destinationTableBindingSource.EndEdit();
        this.destinationTableTableAdapter.Update(myDataSet);
    }

如何使用实体框架执行上述操作? 非常感谢提前:)

2 个答案:

答案 0 :(得分:0)

假设您有两个表及其相应的PoCo类。将它们命名为ParentEntity和ChildEntity。

foreach(var parentEntity in lstParentEntities)
{
ChildEntity  child=new ChildEntity();
child.prop1=parentEntity.Prop1;
child.prop2=parentEntity.Prop2;
child.prop3=parentEntity.Prop3;
context.AddObject(child);
}
context.SaveChanges();

答案 1 :(得分:0)

另类 - 使用名为Source and Destination的POCO类;

context.Destination.Prop1 = Source.Prop1
context.SaveChanges();

另外 - (如果我有权访问它,我会将其添加为评论:)) 你需要使用context.SaveChanges(),而不是context.Save()