2013-10-27 1 views
3

Я пытаюсь установить свойство Id моего класса в сочетании еще 2 свойства:Создание пользовательских ID с драйверами Монго C#

public class Student 
    { 
     public string Id {get;set;} 
     public Guid StudentNumber {get;set;] 
     public string SchoolId {get;set;} 
    } 

Я хочу, что StudentNumber и SchoolId быть Id объекта, если Я сохраняю его.

Как это сделать?

ответ

4

Изучите классы IdGenerator, чтобы создать индивидуальный идентификатор из двух свойств.

http://docs.mongodb.org/ecosystem/tutorial/serialize-documents-with-the-csharp-driver/

Вам нужно создать новый IdGenerator класс, который реализует интерфейс IIdGenerator (docs). Существует два простых метода.

Обратите внимание, что после сохранения сохраненный документ _id не может быть изменен. Вам нужно будет сохранить его в качестве нового документа. Итак, если свойство SchoolId изменяется, вам может потребоваться заново создать документ.

Кроме того, вы можете просто рассмотреть возможность создания составного индекса для двух полей и оставить _id как ObjectId.

+0

Эта ссылка была разбита. Где обновленная ссылка – Luke101

+0

https://web.archive.org/web/20150316203146/http://docs.mongodb.org/ecosystem/tutorial/serialize-documents-with-the-csharp-driver/ – WiredPrairie

+1

Поскольку это вопрос почти 2,5 года - этот обновленный документ может быть неактуальным. http://mongodb.github.io/mongo-csharp-driver/2.0/reference/bson/mapping/#id-generators – WiredPrairie

 Смежные вопросы

  • Нет связанных вопросов^_^