2009-10-13 9 views
0

J'essaie de créer un modèle de domaine en utilisant une entité de classe de produit, un référentiel abstrait et un faux référentiel avec des exemples de données.LINQ Gernic List VB.NET

J'ai créé la classe de produits suivant

Namespace Entities 
Public Class Product 
    Dim _ProductID As Integer 
    Dim _Name As String 
    Dim _Description As String 
    Dim _Price As Decimal 
    Dim _Category As String 
    Public Property ProductID() As Integer 
     Get 
      Return _ProductID 
     End Get 
     Set(ByVal value As Integer) 
      _ProductID = value 
     End Set 
    End Property 

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

    Public Property Description() As String 
     Get 
      Return _Description 
     End Get 
     Set(ByVal value As String) 
      _Description = value 
     End Set 
    End Property 

    Public Property Price() As Decimal 
     Get 
      Return _Price 
     End Get 
     Set(ByVal value As Decimal) 
      _Price = value 
     End Set 
    End Property 

    Public Property Category() As String 
     Get 
      Return _Category 
     End Get 
     Set(ByVal value As String) 
      _Category = value 
     End Set 
    End Property 
End Class 
End Namespace 

Et l'interface suivante:

Namespace Abstract 
Public Interface IProductsRepository 
    ReadOnly Property Products() As IQueryable(Of Product) 
End Interface 
End Namespace 

J'ai besoin maintenant pour créer des données en utilisant une liste de LINQ générique mais je suis coincé, ce que je ai jusqu'à présent, mais je ne peux pas ajouter des éléments:

Imports DomainModel.Abstract 
Imports DomainModel.Entities 

Namespace Concrete 
Public Class FakeProductsRepository 
    Implements IProductsRepository 
    Private Shared fakeProducts As IQueryable(Of Product) = New List(Of Product)().AsQueryable 

    Public ReadOnly Property Products() As System.Linq.IQueryable(Of Entities.Product) Implements Abstract.IProductsRepository.Products 
     Get 
      Return fakeProducts 
     End Get 
    End Property 

End Class 
End Namespace 

Francias:

fakeProducts.Add(New Product() With {.Name = "Football", .Price = 25}) 

aide est grandement appriciated ..

Répondre

0

J'ai besoin maintenant pour créer des données en utilisant une liste de LINQ générique mais je suis coincé, voici ce que j'ai à ce jour, mais je ne peux pas ajouter des éléments:

Que voulez-vous dire par "créer des données"? En outre, LINQ est utilisé pour récupérer données, pas le contraire. Vous pouvez simplement mettre les données dans une liste et renvoyer cette liste - est interrogeable:

Private ReadOnly fakeProducs As New List(Of Product) 
... 

fakeProducts.Add(New Product() With {.Name = "Football", .Price = 25}) 

... 

Public ReadOnly Property Products() As System.Linq.IQueryable(Of Entities.Product) Implements Abstract.IProductsRepository.Products 
    Get 
     Return fakeProducts.AsQueryable() 
    End Get 
End Property