2014-01-17 2 views
0

У меня проблема с моим веб-приложением. В моем приложении у меня есть две коллекции: «пост» и «категория». Я хочу добавить ссылку на категорию для публикации. В пост коллекции у меня есть поле «MongoDBRef категорию» и в пост управления:MongoDB ссылки ASP.NET MVC

public ActionResult Create(Post post) 
    { 
     _category.GetCategory(); 
     if (ModelState.IsValid) 
     { 
      post.Url = post.Title.GenerateSlug(); 
      post.Author = User.Identity.Name; 
      post.Date = DateTime.Now; 
      post.Category = new MongoDBRef("Category", CategoryId); 
      _postService.Create(post); 
      return RedirectToAction("Index"); 
     } 

     return View(); 
    } 

Но не получилось. Может ли кто-нибудь помочь решить эту проблему?

Это мое поле в пост классе:

public MongoDBRef Category { get; set; } 

И Категория Класс:

public class Category 
{ 
    [ScaffoldColumn(false)] 
    [BsonId] 
    public ObjectId CategoryId { get; set; } 

    [ScaffoldColumn(true)] 
    [Required] 
    public string Name { get; set; } 

} 

Я хочу создать пост с какой-то категории, что справка из категории коллекции, но я не» т есть идея, чтобы сделать это ...

+0

Не могли бы объяснить, что вы ожидали от структуры базы данных после выполнения этого кода? Что такое «CategoryId» в фрагменте кода? Это не локальная переменная. – WiredPrairie

+1

Я бы не стал беспокоиться о 'DbRef', так как он просто раздувал документы базы данных с ненужными метаданными. – WiredPrairie

ответ

0

Изменить этот

 post.Category = new MongoDBRef("Category", CategoryId); 

в

 post.Category = new MongoDBRef("Category", _category.CategoryId); 

Также согласен с commentors - вы не должны использовать MongoDBRef здесь. Это всегда категория, поэтому просто введите идентификатор категории в строку.

+0

Итак, лучший способ установить идентификатор из коллекции категорий в почтовую сборку без ссылок? Я имею в виду, создайте сообщение и выберите категорию из категории списка? – Mark

+0

Нет, мы просто говорим, что используйте «string» вместо «MongoDBRef» –

+0

Можете ли вы объяснить, почему я не должен использовать MongoDBRef? – Mark

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