Construire une application en utilisant un file de database SQL Server (mdf) serait une idée terrible?

Je travaille sur un projet parallèle qui serait une application web simple pour maintenir une list de classs et leurs calendars à venir.

Je voudrais vraiment utiliser Linq to SQL pour ce projet, mais malheureusement l'environnement de server que je développe pour seulement MySql est disponible. J'ai essayé brièvement avec Subsonic mais ça ne fonctionne pas.

Les exigences de database pour cette application ne sont pas très bien, cependant, je suis curieux de savoir si l'utilisation d'un file MDF dans App_Data serait une solution viable. Sinon, il me semble que je vais devoir coder à la main les requêtes sql que je veux éviter à tout prix.

Jetez un coup d'œil à Microsoft SQL Server Compact Edition. Je crois que vous pouvez travailler avec des files MDF sans avoir à lancer un server. Tout le code est en cours de traitement. Je crois que cela a certaines limites, mais cela peut fonctionner pour vous et je pense que c'est gratuit.

Au meilleur de ma connaissance, vous pouvez attacher directement au MDF (appelé une "instance d'user", plutôt que d'attacher le MDF à une "instance de server") seulement si SQL Server Express est installé sur cette machine. Ainsi, votre machine sur laquelle MySQL est installé devrait également exécuter SQL Server Express.

J'ai depuis longtime terminé le projet qui a suscité cette question, mais récemment, j'ai eu un autre projet avec des exigences de données très mineures, donc j'ai passé plus de time à expérimenter avec cela.

J'avais supposé que Sql Server Express exigeait des frais de licence pour le deployment, mais ce n'est pas le cas. Selon le site de Microsoft, vous êtes libre de l'utiliser avec certaines ressortingctions:

  • Taille maximale de la database: 4 Go
  • Mémoire maximale utilisée: 1 Go
  • Nombre maximum de processeurs utilisés: 1 (process complets, pas les cœurs)

Sql Server Compact est une mauvaise idée pour les applications web, car il nécessite un hack pour le faire fonctionner, et il n'est pas construit pour l'access simultané dont vous auriez besoin pour le web. Mais si votre application peut s'adapter aux limitations modestes de Sql Server Express, elle fonctionne plutôt bien. Et comme il parle régulièrement T-SQL comme ses plus grands frères et soeurs, vous pouvez utiliser Linq to SQL avec lui.

J'ai entendu que le support Linq to Sql est maintenant dans le tronc Mono pour la version 2.6, donc le couplage serré de L2S à Sql Server sera probablement un point discutable dans un avenir proche. Je finirai soit par porter mon code pour utiliser l'implémentation Linq to Sql supérieure de Mono sur la database de mon choix, soit emprunter un autre path (SubSonic s'est amélioré à pas de géant depuis que je l'ai essayé). Mais pour l'instant, Sql Server Express est un choix valide pour les très petites applications pilotées par database.

Il est plus probable que vous mettiez une database Access dans App_Data. Si vous utilisez un file MSSQL MDF, vous aurez certainement toujours besoin de MSSQL ou de MSSQL-Express.

Votre question est confuse, cependant. Vous semblez échanger l'access aux données, ORM et la database réelle. Vous pouvez utiliser SubSonic avec MySQL, mais vous ne pouvez pas utiliser LINQ to SQL avec des bases de données non MS ou MS Access.

L'une des rares différences entre SQL Server Express et le SQL Server «complet» est la possibilité de joindre automatiquement des files MDF – ce que Microsoft appelle « deployment xcopy ».

SQL Server Express est gratuit (comme dans la bière), à ​​less que vous n'ayez pas de droits d'administrateur sur la boîte pour l'installation, cela devrait fonctionner correctement.

+1 pour SQL Server Compact C'est gratuit et il n'y a pas de «moteur» dans le sens d'un service à time plein, mais vous devez déployer une exécution (c'est juste deux files .dll).

Je ne comprends pas … que voulez-vous dire par "avoir un file MDF dans App_Data"? Vous avez besoin d'une installation SQL Server appropriée pour que cela fonctionne. Vous pouvez toujours utiliser le SQL Server Express gratuit pour développer l'application, puis déplacer la database vers le server SQL approprié une fois que vous avez terminé. Vérifiez ici .

Il semble que je ne comprenais pas comment les files mdf sont accessibles via .net. Il n'y a pas MS SQL Server disponible sur le server, il semble que je suis foutu.

+1 pour SQL Server Compact C'est gratuit et il n'y a pas de «moteur» dans le sens d'un service à time plein, mais vous devez déployer une exécution (c'est juste deux files .dll).

Est-ce que linq to sql fonctionne avec ça?

vous ne pouvez pas utiliser SQL Server Compact avec ASP.net ou le développement Web