簡體   English   中英

無法投放IQueryable <Tobject> 到目標

[英]Can't cast IQueryable<Tobject> to Tobject

我有以下代碼

var contact = repository.GetContacts.Where(p => p.ID == id);
repository.DeleteContact(contact);

變量“ contact”的類型為IQueryable<Contact>DeleteContact()方法采用一個Contact對象。

如何將聯系人從IQueryable<Contact>轉換/轉換為Contact

這是因為Where子句返回的是IQueryable<Contact> (聯系人的集合),而不是單個聯系人(即使該集合中可能只有一個項目)。

我想到的兩個選項是刪除所有聯系人:

foreach (var contact in repository.GetContacts.Where(p => p.ID == id).ToList())
{
    repository.DeleteContact(contact);
}

或者,如果只希望一個或一個都不希望,則可以使用SingleOrDefault來獲取單個聯系人:

var contact = repository.GetContacts.SingleOrDefault(p => p.ID == id);

// If it's not null, delete it
if (contact != null) repository.DeleteContact(contact);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM