本篇内容介绍了“LINQ DataContext类问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
LINQ DataContext类
表示 LINQ to SQL 框架的主入口点。
DataContext 是轻量的,创建它不需要很大的开销。典型的 LINQ to SQL 应用程序在方法范围内创建 DataContext 实例,或将这些实例创建为生存期较短的类(这些类表示相关数据库操作的逻辑集合)的成员。
DataContext 是用来连接到数据库、从中检索对象以及将更改提交回数据库的主要渠道。使用 DataContext 时就像使用 ADO.NET SqlConnection 一样。事实上,DataContext 是用您提供的连接或连接字符串初始化的。
DataContext 的用途是将您对对象的请求转换成要对数据库执行的 SQL 查询,然后将查询结果汇编成对象。DataContext 通过实现与标准查询运算符(如 Where 和 Select)相同的运算符模式来实现 语言集成查询 (LINQ)。
//实体类
[Table(Name = "Student")]
public class Student
{
[Column(IsPrimaryKey = true)]
public int ID;
[Column]
public string StuName;
[Column]
public bool Sex;
[Column]
public int Age;
}
//强类型DataContext
public class TestDB : DataContext
{
public TestDB(string constr)
: base(constr){
}
public Table Student;
public Table Scores;
}
//调用
TestDB Test = new TestDB(constr);
var stu = from student in Test.Student
select student;
foreach (var st in stu)
{
Console.WriteLine("编号:{0},性名:{1},年龄:{2},性别:{3}",
st.ID ,st.StuName ,st.Sex ,st.Age);
}
每个数据库表表示为一个可借助 GetTable 方法(通过使用实体类来标识它)使用的 Table 集合。
***的做法是声明一个强类型化的 DataContext,而不是依靠基本LINQ DataContext类和 GetTable 方法。强类型化的 DataContext 将所有 Table 集合声明为上下文的成员,如下例中所示。
强类型DataContext添加
//实体类 [Table(Name = "Student")] public class Student { [Column(IsPrimaryKey = true)] public int ID; [Column] public string StuName; [Column] public bool Sex; [Column] public int Age; } //强类型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类问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!