我有一个名为tbl_persons的表。我创建了另一个表格,我想创建tbl_personsHistory的历史。
两个表都相同,但名称除外: 这段代码我用于tbl_persons的正常数据操作:
var myPersonOriginal = dbContext.tbl_persons.FirstOrDefault(item => item.PersonID == parameters.PersonID);
变量myPersonOriginal包含完整记录。
如何将该单行复制到tbl_personsHistory?
答案 0 :(得分:1)
尝试:
var toInsert = from b in tbl_persons
where your_conditions_goes_here
select new A
{
...
};
tbl_persons_copy.InsertAllOnSubmit(toInsert);
dc.SubmitChanges();
或者
context
.tbl_persons_copy
.InsertAllOnSubmit(
context
.tbl_persons
.Where(your_conditions_goes_here)
.Select(b => new A { ... })
);
编辑2:
您可以尝试其他方式,首先从主表中选择要插入到复制表中的所有数据。然后将主表中的所有选定数据逐个插入到复制表中,如下所示。
list<main_table> liGet=dbContext.tbl_persons.Where(my_conditions_).ToList();
foreach(main_table mb in liGet)
{
copy_table objTbl=new copy_table ();
objTbl.col1=mb.col1;
.
.
.
.
db.copy_table.Add(objTbl);
}
db.SaveChanges();
答案 1 :(得分:0)
试试这种方式
var myPersonOriginal = dbContext.tbl_persons.FirstOrDefault(item => item.PersonID == parameters.PersonID);
tbl_personsHistory.InsertAllOnSubmit(myPersonOriginal );
dbContext.SubmitChanges();