2015-09-04 1 views
1

Я написал функцию, чтобы вставить данные в таблицу SQL, основанные на данных, полученных от клиента по у меня LINQ к классу SQL:Переписывая LINQ к классу SQL с помощью DataContext

//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. Я никогда не использовал его, правда? И может ли кто-нибудь дать мне пример вставки одного значения в таблицу, используя это?

+0

Это не Linq to SQL. Это: https://msdn.microsoft.com/en-us/library/bb386941(v=vs.110).aspx – user1666620

ответ

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

Я не могу выполнять 'Token.InsertOnSubmit', однако я могу сделать' dc.Tokens.InsertOnSubmit' is что правильно? – Januszoff

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

Сделайте так:

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

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

} 

Надеюсь, это вам поможет.

Смежные вопросы