Je vois que vous pouvez spécifier insérer, mettre à jour et supprimer des proc stockés, mais pas de manière directe pour SELECT procs stockés.Comment dites-vous aux données dynamiques ASP .Net d'utiliser des procédures stockées pour sélectionner?
Répondre
Ceci est faisable mais pas via l'outil de glisser/déposer visuel. Vous devez faire trois choses:
créer une nouvelle méthode de la classe DataContext qui sera appelée à « obtenir » vos données
public partial class DatabaseDataContext { [Function(Name = "dbo.Contact_Get")] [ResultType(typeof(Contact))] [ResultType(typeof(int))] public IMultipleResults GetContacts([Parameter(Name = "PageIndex", DbType = "Int")] System.Nullable<int> pageIndex, [Parameter(Name = "PageSize", DbType = "Int")] System.Nullable<int> pageSize, [Parameter(Name = "Sort", DbType = "NVarChar(10)")] string sort, [Parameter(Name = "ContactTypeId", DbType = "Int")] System.Nullable<int> contactTypeId) { IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), pageIndex, pageSize, sort, contactTypeId); return ((IMultipleResults)(result.ReturnValue)); }
}
Créer un nouveau modèle de page (List.aspx par exemple) pour la table particulière que vous voulez dans le dossier CustomPages pour contrôler la sélection.
Contrôler le mécanisme de sélection de la grille.
protected void GridDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e) { DatabaseDataContext db = new DatabaseDataContext(); IMultipleResults results = db.GetContacts(e.Arguments.StartRowIndex, e.Arguments.MaximumRows, e.Arguments.SortExpression, (int?)e.WhereParameters["ContactTypeId"]); e.Result = results.GetResult<Contact>().ToList(); e.Arguments.TotalRowCount = results.GetResult<int>().Single<int>();
}
Vérifiez le échantillon de données dynamique SP sur le site CodePlex pour DD qui vous montre comment faire:
http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=14473
LINQ to SQL est une très mauvaise idée ...
mais cette sproc devrait vous permettre de faire ce que vous voulez
create PROCEDURE [dbo].[usp_GetCompanies] (
@in_filter nvarchar(2000)
)
AS
declare @sql nvarchar(max)
begin
set @sql = '
SELECT
c.id as company_id, c.name as company_name
FROM company c
WHERE id is not null ' + @in_filter + ' order by c.type, c.name '
exec sp_executesql @sql
end
return
Je ne vois pas comment ce que vous proposez peut être une solution. Je veux savoir où je voudrais spécifier les procédures stockées à utiliser pour mes instructions SELECT – Irwin
ok - je suppose que je n'ai pas compris quelle partie vous avez besoin.voir le lien dans la réponse ci-dessus – mson
Je voudrais souligner que juste parce qu'il est possible d'utiliser linq-to-sql, ne signifie pas que vous devriez l'utiliser. linq-to-sql est expressément interdit dans les environnements que je gère. – mson
Qu'est-ce que vous cherchez Je crois ne pas exactement possible, parce que les entités doivent être mappés à une table ou une vue quelconque. Une procédure stockée n'est pas quelque chose que vous pouvez définir une entité contre.
Cependant, il est certainement possible de créer un mappage pour une procédure stockée qui indique à Linq2Sql de renvoyer des entités lors de son exécution et de mettre une méthode dans votre classe DataContext pour exécuter le sproc et obtenir votre liste d'entités. Ces entités fonctionnent de la même manière que les entités créées à partir d'un mappage de table normal; l'appel de SubmitChanges() sur celles-ci utiliserait alors les sprocs Insert/Update/Delete que vous avez créés pour ce type d'entité.
Probablement la meilleure chose à faire serait de regarder this walkthrough by Scott Guthrie.
- 1. Accès aux données avec des procédures stockées
- 2. Motifs pour les procédures stockées?
- 3. Accès en lecture seule aux procédures stockées
- 4. Données dynamiques RenderHint et ASP .Net
- 5. Comment partager des données entre des procédures stockées
- 6. Comment vérifier l'intégrité des procédures stockées
- 7. Utilisation de Linq avec des procédures stockées
- 8. Accès aux procédures stockées d'appartenance ASP.NET à partir de la page ASP classique
- 9. Comment sauvegarder des procédures stockées dans MySQL
- 10. SubSonic - Procédures stockées non-Crud
- 11. Liste des procédures stockées du tableau
- 12. Problème du connecteur MySQL .NET avec les procédures stockées
- 13. Traitement complexe dans les procédures stockées Application Vs .net
- 14. Modifications de version pour les procédures stockées
- 15. Test des procédures stockées avec MySQL
- 16. Variables et procédures stockées
- 17. DB2 Code SQL pour extraire des procédures stockées
- 18. Développer des procédures stockées MySQL avec Intellisense?
- 19. Procédures sous-sonnettes et stockées
- 20. Des procédures sont stockées plus rapidement pour les requêtes simples
- 21. Autoriser les procédures stockées d'autorisation
- 22. Requêtes paramétrées SANS les procédures stockées?
- 23. Utilisation des procédures stockées MySql pour la couche .NET Data Access Layer
- 24. Performance des procédures récursives stockées dans MYSQL pour obtenir des données hiérarchiques
- 25. Générateur de procédures stockées Simple ADO.NET C#
- 26. Meilleure pratique pour utiliser les procédures stockées dans asp.net pour insérer des données
- 27. Comment tester les performances des procédures stockées Sybase imbriquées?
- 28. Entity Framework + Sql Anywhere 11 + Procédures stockées
- 29. Comment transférer des procédures stockées entre des bases de données SQL Server 2005
- 30. MySql Procédures stockées Paramètre Échapper
utilisez-vous LINQ to SQL ou Entity Framework? –
J'utilise LINK to SQL – Irwin
Est-ce que ce doit être un SP, ou peut-il être un View? –