如您所知,我们使用LinQ技术对SQL类进行发送,并将结果发送到SQL。如果我在SQL中有一个名为User的表,我会用类似C的语言编写查询
  
  List<User> allUsers = (from s in dataContext.Users select s).ToList();
  
   或
  
  // Update Query
User u = (from s in dataContext.Users where s.Id.Equals(1) select s).First();
u.Name = "serkan";
dataContext.SubmitChanges();
  
   我们调用了这个CRUD服务(Create Update Delete)。
  
  
   我的问题是,如果我有一个表需要的CRUD超过40+,我需要编写相同的代码。写东西要花太多时间。是否有工具(ex Generator)可以从给定的SQL Con获取表名,并将基方法(CRUD)写入.cs文件?如果不是,我会用C#写一个工具,但首先我想知道。在谷歌上搜索了一下,但找不到足够的信息。
  
  
   
    编辑:在等待答案时,我开始键入一个工具。它会是这样的,但是如果一个工具已经用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");
        }