我试图使用投影写入数据库,以避免将域对象映射到与表布局匹配的对象。然而,我发现的每个投影示例只显示如何从数据库中读取。如何将我的实体投影到其数据库版本以插入它?
class Foo
{
//...
}
class FooEF
{
//...
}
DbSet<FooEF> dbSet;
// Read
var foos = dbSet.Select(fooEF => new Foo { ... }).ToList();
// Write
???发布于 2021-09-30 12:57:35
您需要使用db上下文。您必须为dbSet类型定义Foo
public class ApplicationDbContext : DbContext
{
public DbSet<Foo> DbSetFoo{ get; set; }
public DbSet<FooEF> DbSetFooEF { get; set; }
...
}
...
var foos = dbSet.Select(fooEF => new Foo {...})
.ToList()
.ForEach(foo=>context.DbSetFoo.Add(foo));
context.SaveChanges();https://stackoverflow.com/questions/69392441
复制相似问题