MongoDb در سی شارپ (بخش هفتم)
نویسنده: علی یگانه مقدم
تاریخ: ۱۳۹۵/۱۲/۱۹ ۲۳:۵۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
public class Book:Entity
{
public string Title { get; set; }
public string ISBN { get; set; }
public int Price { get; set; }
public List<Author> Authors { get; set; }
public BsonDocument ExtraFields { get; set; }
public Language Language { get; set; }
public ObjectId Image { get; set; }
public int Year { get; set; }
public DateTime LastStock { get; set; }
} var book = new Book()
{
Title = "Gone With Wind",
ISBN = "43442424",
Price = 50000,
Year = 1936,
LastStock = DateTime.Now.AddDays(-13),
Language = new Language()
{
Name = "Persian"
},
Authors = new List<Author>()
{
new Author()
{
Name = "Margaret Mitchell"
}
},
ExtraFields=new BsonDocument("Translator", "Ali Mahboobi")
};
همینطور که میبینید این فیلد جدید به عنوان یک شیء جدا یا یک سند توکار ذخیره شدهاست. ولی اگر میخواهید به عنوان یک فیلد، همانند دیگر فیلدها ذخیره شود، باید فیلد ExtraField را به ویژگی BsonExtraElement مزین کنید. پس مدل را به شکل زیر بازنویسی میکنیم:
public class Book:Entity
{
public string Title { get; set; }
public string ISBN { get; set; }
public int Price { get; set; }
public List<Author> Authors { get; set; }
[BsonExtraElements]
public BsonDocument ExtraFields { get; set; }
public Language Language { get; set; }
public ObjectId Image { get; set; }
public int Year { get; set; }
public DateTime LastStock { get; set; }
}