私はモデルクラスを持っています。私はMongoDBコレクションに保存する必要があります。MongoDBドキュメントを保存するために<T>をBsonArrayに変換する方法
私のモデルクラス:
public Class Employee
{
public string EmpID { get; set; }
public string EmpName { get; set; }
public List<Mobile> EmpMobile { get; set; }
}
public Class Mobile
{
public string MobID { get; set; }
public string MobNumber { get; set; }
public bool IsPreferred { get; set; }
}
値が、私はタイプのMongoDBでEmployee
のEmpInfo
上記を保存したい
Employee EmpInfo = new Employee()
{
EmpID = "100",
EmpName = "John",
EmpMobile = new List<Mobile>()
{
{ MobNumber = "55566610", IsPreferred = true },
{ MobNumber = "55566611", IsPreferred = false },
}
}
BsonDocument _employee = new BsonDocument()
{
{ "Emp_ID", EmpInfo.EmpID },
{ "Emp_Name", EmpInfo.EmpName },
{ "Emp_Mobile", new BsonArray (EmpInfo.EmpMobile.Select(m => new
{
MobID = new ObjectId(),
MobNumber = m.MobNumber,
IsPreferred = m.IsPreferred
})) }
};
var collection = _database.GetCollection<BsonDocument>("EmployeeInfo");
collection.InsertOne(_employee);
です。しかし、BsonDocumentを作成することはできません。上のコードに何か間違いがあることを親切に助けてください。はいの場合は親切に私を助けてください。 入力したコレクションを使用してデータだけを挿入することができBSON文書にシリアライズする必要はありません
「employee.Email」とは何ですか?それを 'EmpInfo.EmpMobile.Select(...)'に変更してみてください。 –
申し訳ありません、それはEmpMobileです。タイプミス。今投稿をチェックし、私は間違いを編集しました。 –
は 'Employee 'データを保存するための専用コレクションですか? – profesor79