有没有办法隐式排除C#
MongoDB
中某些数据库模型中的某些字段/类型,同时仍允许明确地获取它们?例如,我有一个Model
,其中有两个大列表:
public class Model {
public string SomeName;
public List<string> ManyManyStrings; // exclude implicitly?
public List<ComplexType> VeryBigList; // exclude implicitly?
public int SomeNumber;
public byte[] LittleArrayOfBytes_NotBigDeal;
}
当我致电IMongoCollection<Model>.Find(SomeFilter)
时,我必须明确排除ManyManyStrings
和VeryBigList
:
var fastModel = modelCollection.Find(SomeFilter).Project<Model>(
Builders<Model>.Projection
.Exclude(m => m.ManyManyStrings)
.Exclude(m => m.VeryBigList));
是的,我可以将它们分为不同的类型或不同的Collection
,并通过ObjectId
左右关联它们。
但模型是如此&#34;对&#34;!他们只需要在那里,逻辑上......我的Model
有 ManyManyStrings
和VeryBigList
,它只是在Model
和其他一些集合中的List<string> ManyManyStrings
或List<ComplexType> VeryBigList
列表之间开始链接真是太痛苦了......
(顺便说一句,我不认为[BsonIgnore]
会在这里提供帮助,因为它也会阻止显式检索。或者我错了?有没有办法绕过&#34;它? )