C# 使用DataContext将LINQ重写为SQL类

C# 使用DataContext将LINQ重写为SQL类,c#,sql,linq,C#,Sql,Linq,我已经编写了一个函数,根据我的LINQ to SQL类中从客户端接收到的数据,将一些数据插入SQL表: //some code string commString = "INSERT INTO Token (tk_ID, tk_token, tk_date, tk_IP) VALUES (@val1, @val2, @val3, @val4)"; string conString = "placeholder"; token = GenerateToken(clientLogi

我已经编写了一个函数,根据我的LINQ to SQL类中从客户端接收到的数据,将一些数据插入SQL表:

//some code
   string commString = "INSERT INTO Token (tk_ID, tk_token, tk_date, tk_IP) VALUES (@val1, @val2, @val3, @val4)";
   string conString = "placeholder";
   token = GenerateToken(clientLoginData);
   using (SqlConnection con = new SqlConnection(conString))
   {
       using (SqlCommand com = new SqlCommand())
       {
            com.Connection = con;
            com.CommandText = commString;
            com.Parameters.AddWithValue("@val1", clientLoginData.cl_ID);
            com.Parameters.AddWithValue("@val2", token);
            com.Parameters.AddWithValue("@val3", clientLoginData.LoginTime);
            com.Parameters.AddWithValue("@val4", clientLoginData.cl_IP);
            try
            {
                con.Open();
                com.ExecuteNonQuery();
            }
            catch (SqlException e)
            {

            }
    }
//rest of function
这样做正确吗?我听说你可以用电脑做得更容易

SampleDBDataContext dc = new SampleDBDataContext();

然后使用这个变量dc。但是我从来没有用过,是真的吗?有人能给我举个例子,用这个在表中插入一个值吗?

您的代码应该是这样的

using (SampleDBDataContext dc = new SampleDBDataContext())
{
    Token item = new Token();
    item.tk_ID = clientLoginData.cl_ID;
    item.tk_token = token;
    item.tk_date = clientLoginData.LoginTime;
    item.tk_IP = clientLoginData.cl_IP;
    dc.Tokens.InsertOnSubmit(item);
    dc.SubmitChanges();
}
您的代码是一个简单的c#代码,用于插入值,而不是您应该具有的Linq2Sql的Linq2Sql

 using (YourDbContext dc=new YourDbContext ()){

         Token item = new Token();
         item.tk_date = clientLoginData.LoginTime;
         item.tk_IP = clientLoginData.cl_IP;
         item.tk_ID = clientLoginData.cl_ID;
         item.tk_token = token;

            dc.Tokens.InsertOnSubmit
            dc.SubmitChanges();
   }

像这样做:

 DataContext dc = new   Using(DataContext(Connections.GetDynamicConnectionfromConfig()))
 {

          Sampleclass obj = new Sampleclass();
          //Here assign properties to obj
          dc.tableName.InsertOnSubmit(obj);
          dc.SubmitChanges();

}

希望这对您有所帮助。

这不是SQL的关键。这是:我不能做
Token.InsertOnSubmit
,但是我可以做
dc.Tokens.InsertOnSubmit
,对吗?