温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

LINQ DataContext类问题怎么解决

发布时间:2021-12-02 09:24:09 来源:亿速云 阅读:150 作者:iii 栏目:编程语言

本篇内容介绍了“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.  

  12. [Column]  

  13. public int Age;  

  14. }  

  15. //强类型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. //调用  

  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("编号:{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类问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI