1)我想澄清对收藏品的一些疑问.
SampleDBDataContext PersonDB = new SampleDBDataContext("");
Table<Person> p=PersonDB.GetTable<Person>();
IEnumerable<Person> per = PersonDB.GetTable<Person>();
IQueryable<Person> qry = PersonDB.Persons.Select(c => c);
Run Code Online (Sandbox Code Playgroud)
使用之间有什么区别Table<Person>,IEnumerable<Person>,IQueryable<Person>.具体需要选择哪一个?
2)对于添加记录,我的IDE中没有出现Add()方法,(即)PersonDB.Persons.Add().这里有什么问题?
IEnumerable<> 是一个适用于任何可以枚举或迭代其成员的集合的接口.
IQueryable<>是一个LINQ接口,适用于任何可以懒惰查询其成员的集合.(在访问其成员之前查询而不实现结果集)
Table<> 是一个我之前没有使用过的类,但"代表底层数据库中特定类型的表."
你选择哪一个取决于你的需求,但是IEnumerable<>最通用的,所以我会在我的类型声明中使用它,如果它足够的话.
要插入一个人使用InsertOnSubmit():
Person person = new Person() { ... };
PersonDB.Persons.InsertOnSubmit(person);
PersonDB.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)