C# Linq使用DataContext
我想澄清一些关于托收的疑问 使用Table、IEnumerable和IQueryable之间有什么区别。是否需要选择特定的选项 2对于添加记录,添加方法未出现在我的IDE中,即PersonDB.Persons.Add。 这里有什么问题?1。 是一个 适用于其 成员可以枚举或迭代 结束 是一个LINQ接口 这适用于任何 可以惰性地查询成员。 查询而不具体化 结果集,直到其成员 访问 是我上过的一门课 以前未使用,但表示 表中的特定类型 底层数据库 您选择哪一个取决于您的需求,但IEnumerable是最通用的,所以如果它足够的话,我会在我的类型声明中使用它 2. 要插入人员,请使用InsertOnSubmit: 1. 是一个 适用于其 成员可以枚举或迭代 结束 是一个LINQ接口 这适用于任何 可以惰性地查询成员。 查询而不具体化 结果集,直到其成员 访问 是我上过的一门课 以前未使用,但表示 表中的特定类型 底层数据库 您选择哪一个取决于您的需求,但IEnumerable是最通用的,所以如果它足够的话,我会在我的类型声明中使用它 2. 要插入人员,请使用InsertOnSubmit: 桌子很好,一张桌子。它可以返回IQueryable结果,并可以执行插入/其他特定于数据库的操作。它链接到DataContext IQueryable是一个很好的列表,而不是一个列表。基本上,IQueryable不会实际加载任何数据,直到您实际请求延迟执行。因此,您可以在将整个内容发送到数据库之前执行多个操作。将IQueryable视为正在进行的SQL语句,而不是实际结果 IEnumerable只是可枚举对象列表的标准接口。当IQueryable实际执行时,您将得到一个IEnumerable集 添加针对单个实例显示-例如Person.Add。对于原始表,您应该使用Insert*方法。表就是一个表。它可以返回IQueryable结果,并可以执行插入/其他特定于数据库的操作。它链接到DataContext IQueryable是一个很好的列表,而不是一个列表。基本上,IQueryable不会实际加载任何数据,直到您实际请求延迟执行。因此,您可以在将整个内容发送到数据库之前执行多个操作。将IQueryable视为正在进行的SQL语句,而不是实际结果 IEnumerable只是可枚举对象列表的标准接口。当IQueryable实际执行时,您将得到一个IEnumerable集C# Linq使用DataContext,c#,linq-to-sql,C#,Linq To Sql,我想澄清一些关于托收的疑问 使用Table、IEnumerable和IQueryable之间有什么区别。是否需要选择特定的选项 2对于添加记录,添加方法未出现在我的IDE中,即PersonDB.Persons.Add。 这里有什么问题?1。 是一个 适用于其 成员可以枚举或迭代 结束 是一个LINQ接口 这适用于任何 可以惰性地查询成员。 查询而不具体化 结果集,直到其成员 访问 是我上过的一门课 以前未使用,但表示 表中的特定类型 底层数据库 您选择哪一个取决于您的需求,但IEnumerabl
添加针对单个实例显示-例如Person.Add。对于原始表,您应该使用Insert*方法。TableT是LINQ to SQL用于表查询结果的类;它还用于数据上下文的属性,以便您可以在查询中使用数据上下文属性。因此,您帖子中的代码复制了LINQ已经为您编写的一些代码。人员b.人员应始终足以查询人员
对于结果,您可能需要一个集合,因此当iQueDaby和IQueDyEy很好时,您也可以考虑使用列表:
List<Persons> pers = PersonDB.Persons.Where(p => p.name == aName).ToList();
请注意,这是一个立即执行,而不是延迟执行。ToList强制立即执行查询。TableT是LINQ to SQL用于表查询结果的类;它还用于数据上下文的属性,以便您可以在查询中使用数据上下文属性。因此,您帖子中的代码复制了LINQ已经为您编写的一些代码。人员b.人员应始终足以查询人员
对于结果,您可能需要一个集合,因此当iQueDaby和IQueDyEy很好时,您也可以考虑使用列表:
List<Persons> pers = PersonDB.Persons.Where(p => p.name == aName).ToList();
请注意,这是一个立即执行,而不是延迟执行。ToList强制立即执行查询。对于第一个问题,请看这个问题:对于第一个问题,请看这个问题:
List<Persons> pers = PersonDB.Persons.Where(p => p.name == aName).ToList();