我想为类的所有属性设置 SetIgnoreIfDefault(true)。(这可以在存储中保存 TONS 的默认数据)
我可以为每个属性显式调用 SetIgnoreIfDefault:
BsonClassMap.RegisterClassMap<MyClass>(cm =>
{
cm.AutoMap();
cm.MapProperty(x => x.A).SetIgnoreIfDefault(true);
cm.MapProperty(x => x.B).SetIgnoreIfDefault(true);
cm.MapProperty(x => x.C).SetIgnoreIfDefault(true);
cm.MapProperty(x => x.D).SetIgnoreIfDefault(true);
cm.MapProperty(x => x.E).SetIgnoreIfDefault(true);
...
cm.SetIgnoreExtraElements(true);
});
Run Code Online (Sandbox Code Playgroud)
但是我有很多类和很多属性,如果我修改了类,我需要记住更改注册。
有没有办法在一次调用中为类的所有属性设置它?
有没有办法在全局范围内为所有属性设置它?
谢谢
我开始将EFCore.BulkExtensions用于ef批量操作,它的工作非常好。
(请参阅https://github.com/borisdj/EFCore.BulkExtensions/)
我是否还需要调用SaveChanges:
using (var db = new ReportingContext())
{
db.BulkInsertOrUpdate(entities);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
还是足够好?
using (var db = new ReportingContext())
{
db.BulkInsertOrUpdate(entities);
}
Run Code Online (Sandbox Code Playgroud)