首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

LINQ to SQL 中的DataContext方法及记录的存储解决思路

2012-05-01 
LINQ to SQL 中的DataContext方法及记录的存储先给一段描述和一段代码,然后再提出我的疑问,希望大神路过看

LINQ to SQL 中的DataContext方法及记录的存储
先给一段描述和一段代码,然后再提出我的疑问,希望大神路过看看提提意见,谢谢!

  LINQ to SQL
  DataContext成员方法:方法GetTable;
   
  方法原型:

  Table<T> GetTable<T>();

  方法GetTable在调用是只需要指定实体类型T即可,DataContext对象会根据指定的实体类信息来查询数据库中相应的物理 表,并将记录信息封装成实体类对象放入序列中返回。
  
以下是GetTable方法的使用示例:
 

C# code
1  string str_conn1 ="Data Source=localhost;Initial Catalog=DB_Student;User ID=sa;Password=king"; 2             DataContext dc4 =new DataContext(str_conn1); 3  4             Table<Course> courses = dc4.GetTable<Course>();5  6             Console.WriteLine("可选课程:"); 7 foreach (var c in courses.Select(s =>new {Cno=s.No,Cname=s.Name }).Take(3)) 8             { 9                 Console.WriteLine(c.ToString());10            }   

  问题1、这个Table<>是什么,它包含哪些方法、属性?
  问题2、“Table<Course> courses = dc4.GetTable<Course>();”我的理解是这个course是个物理表对应的实体类对象,他返回的是“记录信息”,可是记录可以有很多,但是实体类中保存记录的属性却只能存储一个记录,那么这些许多的记录是如何存储在实体类中的?
 

[解决办法]
Table<Course>不是什么实体类,Course才是。

不要把一个实体数据枚举集合类说成是实体类。
[解决办法]
探讨
先给一段描述和一段代码,然后再提出我的疑问,希望大神路过看看提提意见,谢谢!

LINQ to SQL
DataContext成员方法:方法GetTable;

方法原型:

Table<T> GetTable<T>();

方法GetTable在调用是只需要指定实体类型T即可,DataContext对象会根据指定的实体类信息来查询数据库中相应的……

[解决办法]
这里不要和.NET的枚举类型(enum)混淆,最好叫做迭代器。

所谓迭代器就是一个提供了 Current()、MoveNext()(同时判断是否到达最后)、Reset()三个基本抽象操作的一种对象。

热点排行