Bonjour, j'ai un site sur lequel j'utilise une table utilisateur. Je veux être en mesure d'ajouter des utilisateurs, mais ne pas les supprimer - J'ai besoin de mettre à jour un fichier dans la base de données qui est dit est supprimé - Toute idée comment faire cela?Désactiver la suppression dans les données dynamiques Asp.Net pour une table mais autoriser l'insertion
0
A
Répondre
0
je crée un formulaire personnalisé pour chaque entité.
0
Je suggère d'utiliser quelque chose comme Linq to SQL ou Entity Framework (ou autre ORM), et de créer un dépôt CRUD (Créer, Lire, Mettre à jour, Supprimer). Mais la méthode pour le "D" sera en fait une méthode de mise à jour qui met à jour le champ isDeleted
.
Voici un exemple de mon référentiel CRUD (avec une couche de service également).
http://dotnetblogger.com/post/2010/07/04/MVC2-Separating-Concerns-with-Service-and-Repository-Layers.aspx
Exemple:
Public Class UserRepository : Implements IUserRepository
Private dc As MyDatabaseDataContext
Public Sub New()
dc = New MyDatabaseDataContext
End Sub
''# note, this adds a user based on an OpenID - might not be what you're looking for
Public Sub AddUser(ByVal openid As OpenID) Implements IUserRepository.AddUser
Dim user As New User
user.MemberSince = DateTime.Now
openid.User = user
dc.OpenIDs.InsertOnSubmit(openid)
End Sub
''# This gets users as Queryable so that we can defer the query till the end.
Public Function GetUsers() As IQueryable(Of User) Implements IUserRepository.GetUsers
Dim users = (From u In dc.Users
Select u)
Return users.AsQueryable
End Function
''# Here's the magic function that you're looking for. DELETE is actually an UPDATE.
Public Sub DeleteUser(ByVal user as User) Implements IUserRepository.DeleteUser
Dim _user = (From u In dc.Users
Where u.ID = user.ID
Select u).Single
_user.isDeleted = True
End Sub
''# Basic Update Method
Public Sub UpdateUser(ByVal user As User) Implements IUserRepository.UpdateUser
Dim _user = (From u In dc.Users
Where u.ID = user.ID
Select u).Single
With _user
.About = user.About
.BirthDate = user.BirthDate
.Email = user.Email
.isClosed = user.isClosed
.isProfileComplete = user.isProfileComplete
.RegionID = user.RegionID
.Reputation = user.Reputation
.UserName = user.UserName
.WebSite = user.WebSite
End With
End Sub
''# Make sure to call SubmitChanges
Public Sub SubmitChanges() Implements IUserRepository.SubmitChanges
dc.SubmitChanges()
End Sub
End Class
Comment définir que la fonction de suppression dans Dynamic Data utilise mon code? –
Dynamic Data utilise toujours Linq To SQL. Allez dans le code derrière le modèle Edit et postez le code d'édition (il suffit de modifier votre question existante). Je n'utilise pas les données dynamiques (j'ai choisi MVC à la place), mais les principes seront les mêmes. –