您好,登錄后才能下訂單哦!
本篇內(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)。
//實(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;
}
//調(diào)用
TestDB Test = new TestDB(constr);
var stu = from student in Test.Student
select student;
foreach (var st in stu)
{
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í)用文章!
免責(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)容。