千家信息网

LINQ DataContext类问题怎么解决

发表于:2024-12-05 作者:千家信息网编辑
千家信息网最后更新 2024年12月05日,本篇内容介绍了"LINQ DataContext类问题怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2024年12月05日LINQ DataContext类问题怎么解决

本篇内容介绍了"LINQ DataContext类问题怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

LINQ DataContext类

表示 LINQ to SQL 框架的主入口点。

DataContext 是轻量的,创建它不需要很大的开销。典型的 LINQ to SQL 应用程序在方法范围内创建 DataContext 实例,或将这些实例创建为生存期较短的类(这些类表示相关数据库操作的逻辑集合)的成员。

DataContext 是用来连接到数据库、从中检索对象以及将更改提交回数据库的主要渠道。使用 DataContext 时就像使用 ADO.NET SqlConnection 一样。事实上,DataContext 是用您提供的连接或连接字符串初始化的。

DataContext 的用途是将您对对象的请求转换成要对数据库执行的 SQL 查询,然后将查询结果汇编成对象。DataContext 通过实现与标准查询运算符(如 Where 和 Select)相同的运算符模式来实现 语言集成查询 (LINQ)。

  1. //实体类

  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. [Column]

  12. public int Age;

  13. }

  14. //强类型DataContext

  15. public class TestDB : DataContext

  16. {

  17. public TestDB(string constr)

  18. : base(constr){

  19. }

  20. public Table Student;

  21. public Table Scores;

  22. }

  23. //调用

  24. TestDB Test = new TestDB(constr);

  25. var stu = from student in Test.Student

  26. select student;

  27. foreach (var st in stu)

  28. {

  29. Console.WriteLine("编号:{0},性名:{1},年龄:{2},性别:{3}",
    st.ID ,st.StuName ,st.Sex ,st.Age);

  30. }

每个数据库表表示为一个可借助 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类问题怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0