Bonjour,
j'ai une base de données SQL Server CE (bdd locale) concernant des films(table Movie, Actor, Director, etc.). J'essaie de mettre en place une couche d'accès aux données en appliquant le principe des DAL, BEL et BPL.
Pour l’instant j'en suis à la couche DAL. Ça marche mais j'aimerais créer une classe générique et ça là que je bloque..
Je vous montre la classe que j'ai pour l'instant:
A la base pour une DALMovie, on utilise un ObjectSet(Of Movie), Movie héritant de EntityObject, j'ai donc essayé de le remplacer par EntityObject mais "impossible de caster Movie en EntityObject" (de plus il n'y a pas de membre 'ID').. et maintenant je sais plus trop de quel coté chercher..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Imports System.Data.Objects Imports System.Data.Objects.DataClasses Public Class DALClass Private Property ObjContext As ObjectContext Private Property ObjSet As ObjectSet(Of EntityObject) 'Initialize Public Sub Initialize(ByVal ObjSet As ObjectSet(Of EntityObject)) Me.ObjSet = ObjSet ObjContext = ObjSet.Context End Sub 'DeleteByID Public Function DeleteByID(ByVal ID As Integer) As Boolean Dim o = (From p In ObjSet Where p.ID = ID Select p).First '"p.ID" compile pas => "ID" n'est pas membre de System.Data.Objects.DataClasses.EntityObject ObjContext.DeleteObject(o) Return Update() End Function 'Insert Public Function Insert(ByVal obj As Object) As Boolean ObjSet.AddObject(obj) Return Update() End Function 'SelectAll Public Function SelectAll() As System.Collections.Generic.IEnumerable(Of Object) Return (From p In ObjSet Select p).ToList() End Function 'SelectByID Public Function SelectByID(ByVal ID As Integer) As Object Return (From p In ObjSet Where p.ID = ID Select p).First '"p.ID" compile pas => "ID" n'est pas membre de System.Data.Objects.DataClasses.EntityObject End Function 'Update Public Function Update() As Boolean Return ObjContext.SaveChanges() > 0 End Function End Class
Connaissez vous un moyen de faire ça?
Partager