使用DataContext重写LINQ to SQL类

时间:2015-09-04 09:19:09

标签: 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(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。我从来没用过它,是真的吗?有人可以给我一个使用这个插入一个值的例子吗?

3 个答案:

答案 0 :(得分:2)

你的代码是一个简单的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();
   }

Example 1

Example 2

答案 1 :(得分:1)

这样做:

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

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

}

希望这会对你有所帮助。

答案 2 :(得分:0)

您的代码应如下所示

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();
}