溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

LINQ DataContext類問題怎么解決

發(fā)布時(shí)間:2021-12-02 09:24:09 來源:億速云 閱讀:141 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“LINQ DataContext類問題怎么解決”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

LINQ DataContext類

表示 LINQ to SQL 框架的主入口點(diǎn)。

DataContext 是輕量的,創(chuàng)建它不需要很大的開銷。典型的 LINQ to SQL 應(yīng)用程序在方法范圍內(nèi)創(chuàng)建 DataContext 實(shí)例,或?qū)⑦@些實(shí)例創(chuàng)建為生存期較短的類(這些類表示相關(guān)數(shù)據(jù)庫操作的邏輯集合)的成員。

DataContext 是用來連接到數(shù)據(jù)庫、從中檢索對(duì)象以及將更改提交回?cái)?shù)據(jù)庫的主要渠道。使用 DataContext 時(shí)就像使用 ADO.NET SqlConnection 一樣。事實(shí)上,DataContext 是用您提供的連接或連接字符串初始化的。

DataContext 的用途是將您對(duì)對(duì)象的請(qǐng)求轉(zhuǎn)換成要對(duì)數(shù)據(jù)庫執(zhí)行的 SQL 查詢,然后將查詢結(jié)果匯編成對(duì)象。DataContext 通過實(shí)現(xiàn)與標(biāo)準(zhǔn)查詢運(yùn)算符(如 Where 和 Select)相同的運(yùn)算符模式來實(shí)現(xiàn) 語言集成查詢 (LINQ)。

  1. //實(shí)體類  

  2. [Table(Name = "Student")]  

  3. public class Student  

  4. {  

  5. [Column(IsPrimaryKey = true)]  

  6. public int ID;  

  7. [Column]  

  8. public string StuName;  

  9. [Column]  

  10. public bool Sex;  

  11.  

  12. [Column]  

  13. public int Age;  

  14. }  

  15. //強(qiáng)類型DataContext  

  16. public class TestDB : DataContext  

  17. {  

  18. public TestDB(string constr)  

  19. : base(constr){   

  20. }  

  21. public Table Student;  

  22. public Table Scores;  

  23. }  

  24. //調(diào)用  

  25. TestDB Test = new TestDB(constr);  

  26. var stu = from student in Test.Student  

  27. select student;  

  28. foreach (var st in stu)  

  29. {  

  30. Console.WriteLine("編號(hào):{0},性名:{1},年齡:{2},性別:{3}",
    st.ID ,st.StuName ,st.Sex ,st.Age);  

每個(gè)數(shù)據(jù)庫表表示為一個(gè)可借助 GetTable 方法(通過使用實(shí)體類來標(biāo)識(shí)它)使用的 Table 集合。

***的做法是聲明一個(gè)強(qiáng)類型化的 DataContext,而不是依靠基本LINQ DataContext類和 GetTable 方法。強(qiáng)類型化的 DataContext 將所有 Table 集合聲明為上下文的成員,如下例中所示。

強(qiáng)類型DataContext添加

//實(shí)體類  [Table(Name = "Student")]  public class Student  {  [Column(IsPrimaryKey = true)]  public int ID;  [Column]  public string StuName;  [Column]  public bool Sex;  [Column]  public int Age;  }  //強(qiáng)類型DataContext  public class TestDB : DataContext  {  public TestDB(string constr)  : base(constr)  { }  public Table Student;  public Table Scores;  }  ///添加  TestDB Test = new TestDB(constr);  Student student = new Student();  student.StuName = "大張";  student.Sex = false;  student .Age =34;  Test.Student.InsertOnSubmit(student);  Test.SubmitChanges();

“LINQ DataContext類問題怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI