private void CreateIndex() { IFCModel.EnsureIndex(x => x["P21Id"]); IFCModel.EnsureIndex(x => x["EntityName"]); IFCModel.EnsureIndex(x => x["GlobalId"]); ReplaceTable.EnsureIndex(x => x.KeyElement); ReplaceTable.EnsureIndex(x => x.ValueElement); InverseTable.EnsureIndex(x => x.KeyElement); }
public IFCObject GetObjectByP21Id(string p21Id) { IFCReplaceRecord replace = ReplaceTable.FindOne(x => x.KeyElement == p21Id); if (replace == null) //不是被取代的P21Id { return(new IFCObject(IFCModel.FindOne(x => x["P21Id"] == p21Id))); } else //須找到取代的資料 { IFCObject obj = new IFCObject(IFCModel.FindOne(x => x["P21Id"] == replace.ValueElement)); obj.P21Id = p21Id; return(obj); } }