Comme vous le savez, nous utilisons la technologie LinQ aux classes SQL pour envoyer et obtenir des résultats SQL. Si j'ai une table appelée utilisateur dans SQL, j'écrire des requêtes en C# commeLinQ Query Builder au fichier .cs en C#
List<User> allUsers = (from s in dataContext.Users select s).ToList();
ou
// Update Query
User u = (from s in dataContext.Users where s.Id.Equals(1) select s).First();
u.Name = "serkan";
dataContext.SubmitChanges();
Nous avons appelé ce service CRUD (Create-Update-Delete).
Ma question est, si j'ai une table requise CRUD plus de 40+, j'ai besoin d'écrire les mêmes codes. Cela prendra trop de temps pour écrire. Existe-t-il un outil (ex Générateur) pour obtenir des noms de tables à partir de SQL Con donné, et écrire des méthodes de base (CRUD) dans un fichier .cs? Sinon, je vais écrire un outil en C#, mais d'abord je veux savoir. Recherché google un peu, mais ne peux pas trouver assez d'informations.
EDIT: En attendant les réponses, j'ai commencé à taper un outil. Ce sera comme ça, mais je serai très heureux, si un outil déjà écrit en C# :)
private List<string> myClasses = new List<string>();
private const string myDataContextName = "SurfTurkeyDataContext";
private void btnGenerate_Click(object sender, EventArgs e)
{
try
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("using System;");
sb.AppendLine("using System.Collections.Generic;");
sb.AppendLine("using System.Linq;");
sb.AppendLine("using System.Text;");
sb.AppendLine(Environment.NewLine);
sb.AppendLine("namespace LinqToCsGenerator");
sb.AppendLine("{");
sb.AppendLine(Environment.NewLine);
//Class Initilize
sb.AppendLine("public class Users");
sb.AppendLine("{");
foreach (string item in myClasses)
{
sb.AppendLine(Environment.NewLine);
// Select All Method
sb.AppendLine(String.Format("public List<{0}> GetAll{0}()", item));
sb.AppendLine("{");
sb.AppendLine(Environment.NewLine);
sb.AppendLine(String.Format("{0} dc = new {0}();", myDataContextName));
sb.AppendLine(Environment.NewLine);
sb.AppendLine(String.Format("List<{0}> all{0} = (from s in dc.{0} select s).ToList();", item));
sb.AppendLine(Environment.NewLine);
sb.AppendLine(String.Format("return all{0};", item));
sb.AppendLine(Environment.NewLine);
sb.AppendLine("}");
sb.AppendLine(Environment.NewLine);
// Insert Method
// Delete Method
//.
//.
//.
//.
}
sb.AppendLine("}");
sb.AppendLine("}");
System.IO.File.WriteAllText(@"D:\deneme.cs", sb.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Form1_Load(object sender, EventArgs e)
{
myClasses.Add("Users");
myClasses.Add("Products");
}
goood, allez, construire un, et laissez-moi savoir aussi bien :) –
@Zein Shaikh comme je l'ai dit, s'il ny a pas un outil, je dois écrire et oui, je vous ferai savoir quand j'ai trouvé un outil, ou a écrit un outil :) –