2009-10-30 5 views
0
  • J'ai une table « Menus » contenant les noms des menus du restaurant.
    • J'ai aussi une table « Ingrédients » contenant les ingrédients qui sont disponibles aux menus.

Je n'ai pas du mal à obtenir les valeurs hors de la table 'menus' dans une classe IQueryable (PropAllMenus)ASP.NET MVC: Obtenez les valeurs d'un tableau plusieurs à plusieurs

Public Class PropAllMenus 
Private _MenuID As Integer 
Public Property MenuID() As Integer 
    Get 
     Return _MenuID 
    End Get 
    Set(ByVal value As Integer) 
     _MenuID = value 
    End Set 
End Property 

Private _Name As String 
Public Property Name() As String 
    Get 
     Return _Name 
    End Get 
    Set(ByVal value As String) 
     _Name = value 
    End Set 
End Property 

Private _DaypartID As Integer 
Public Property DaypartID() As Integer 
    Get 
     Return _DaypartID 
    End Get 
    Set(ByVal value As Integer) 
     _DaypartID = value 
    End Set 
End Property 

je viens d'utiliser ce code dans la classe DBRepository

Public Function ListAllMenus() As IQueryable(Of PropAllMenus) Implements IDBRepository.ListAllMenus 

    Dim result = From p In _db.Menus Select New PropAllMenus With {.MenuID = p.MenuID, .Name = p.Name} 
    Return result 

End Function 

Cela fonctionne très bien.

  • Maintenant, j'ai aussi beaucoup à table n « MenuIngredients » contenant les numéros d'identification des ingrédients qui appartiennent à un menu.

Cependant, je ne sais pas quelles sont les mesures que je devrais prendre pour:

  1. Interrogez la DB avec une requête LINQ pour obtenir une liste des noms de menu avec tous leurs ingrédients
  2. remplissage une nouvelle IQuerable (de ...) classe donc je peux passer à mon avis

J'ai essayé d'utiliser une propriété de type tableau (qui contiennent ed les ingrédients d'un menu) mais cela n'a pas semblé fonctionner.

Répondre

0

Vous avez juste besoin d'ajouter une classe partielle à votre classe actuelle Menu comme ceci:

public partial class Books 
    public property IEnumerable<Ingredient> Ingredients 
    get 

      return me. MenuIngredients.Select(function (mi) mi.Ingredient); 
    end get 

    end Property 

    public sub AddIngredient(i as Ingredient) 
    //do the logic here 
    End Sub 

    public sub AddIngredient(i as Ingredient) 
    //do the logic here 
    End Sub 

    End 

Ce serait alors inclure les ingrédients dans votre classe de menu

Questions connexes