EntityCollection<TEntity>.Contains(TEntity) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定特定对象是否存在于集合中。
public:
virtual bool Contains(TEntity entity);
public bool Contains (TEntity entity);
abstract member Contains : 'Entity -> bool
override this.Contains : 'Entity -> bool
Public Function Contains (entity As TEntity) As Boolean
参数
- entity
- TEntity
要在 EntityCollection<TEntity> 中定位的对象。
返回
如果在 EntityCollection<TEntity> 中找到对象,则为 true
;否则为 false
。
实现
示例
此示例基于 Adventure Works 销售模型。 若要运行此示例中的代码,必须已将 AdventureWorks 销售模型添加到您的项目中,并将项目配置为使用实体框架。 为此,请完成 如何:手动配置实体框架项目 和 如何:手动定义模型和映射文件中的过程。
此示例将执行下列操作:
创建两个新的
SalesOrderHeader
实体并添加到Contact
实体。从与 Contact 实体关联的 RelationshipManager 中获取所有相关端。
循环访问 IRelatedEnd 集合。
获取每个相关端的 EntityCollection<TEntity>。
使用 Remove 方法从集合中移除其中一个实体。
调用 Contains 方法确定该对象是否已从集合中移除。
使用 Add 方法添加回实体。
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
Contact contact = new Contact();
// Create a new SalesOrderHeader.
SalesOrderHeader newSalesOrder1 = new SalesOrderHeader();
// Add SalesOrderHeader to the Contact.
contact.SalesOrderHeaders.Add(newSalesOrder1);
// Create another SalesOrderHeader.
SalesOrderHeader newSalesOrder2 = new SalesOrderHeader();
// Add SalesOrderHeader to the Contact.
contact.SalesOrderHeaders.Add(newSalesOrder2);
// Get all related ends
IEnumerable<IRelatedEnd> relEnds =
((IEntityWithRelationships)contact)
.RelationshipManager.GetAllRelatedEnds();
foreach (IRelatedEnd relEnd in relEnds)
{
// Get Entity Collection from related end
EntityCollection<SalesOrderHeader> entityCollection =
(EntityCollection<SalesOrderHeader>)relEnd;
Console.WriteLine("EntityCollection count: {0}",
entityCollection.Count);
// Remove the first entity object.
entityCollection.Remove(newSalesOrder1);
bool contains = entityCollection.Contains(newSalesOrder1);
// Write the number of items after one entity has been removed
Console.WriteLine("EntityCollection count after one entity has been removed: {0}",
entityCollection.Count);
if (contains == false)
Console.WriteLine("The removed entity is not in in the collection any more.");
//Use IRelatedEnd to add the entity back.
relEnd.Add(newSalesOrder1);
Console.WriteLine("EntityCollection count after an entity has been added again: {0}",
entityCollection.Count);
}
}
注解
使用 Object.Equals 方法来比较指定对象和集合中已经存在的对象。