将一个 table 行复制到另一行
Copy one table row to another
我有一个名为 tbl_persons 的 table。我做了另一个 table,我想在其中创造 tbl_personsHistory.
的历史
两个 table 完全相同,除了名称:
此代码用于 tbl_persons:
的正常数据操作
var myPersonOriginal = dbContext.tbl_persons.FirstOrDefault(item => item.PersonID == parameters.PersonID);
变量 myPersonOriginal 包含完整记录。
如何将单行复制到 tbl_persons历史记录?
尝试:
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:
您可以尝试另一种方式,第一个 select 来自主 table 的所有数据,您要将其插入副本 table。然后将主 table 中的所有 selected 数据一一插入到副本 table 中,如下所示。
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();
试试这个方法
var myPersonOriginal = dbContext.tbl_persons.FirstOrDefault(item => item.PersonID == parameters.PersonID);
tbl_personsHistory.InsertAllOnSubmit(myPersonOriginal );
dbContext.SubmitChanges();
我有一个名为 tbl_persons 的 table。我做了另一个 table,我想在其中创造 tbl_personsHistory.
的历史两个 table 完全相同,除了名称: 此代码用于 tbl_persons:
的正常数据操作var myPersonOriginal = dbContext.tbl_persons.FirstOrDefault(item => item.PersonID == parameters.PersonID);
变量 myPersonOriginal 包含完整记录。
如何将单行复制到 tbl_persons历史记录?
尝试:
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:
您可以尝试另一种方式,第一个 select 来自主 table 的所有数据,您要将其插入副本 table。然后将主 table 中的所有 selected 数据一一插入到副本 table 中,如下所示。
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();
试试这个方法
var myPersonOriginal = dbContext.tbl_persons.FirstOrDefault(item => item.PersonID == parameters.PersonID);
tbl_personsHistory.InsertAllOnSubmit(myPersonOriginal );
dbContext.SubmitChanges();