Question: I am compulsive and like visually clean designs.

Theres a pop up in my app that tells the user that there's an error. 

I made a clear button over the entire pop up (about 200x100 px) so the user can just touch the notification to dismiss it.

But i'm afraid the user might not know that you can just touch the pop up to dissmiss and would go crazy looking for the "OKAY" button. 

Do you guys think the OKAY button is necessary or is a giant clear button overlaying the notification good enough? 

note: the whole notification actually looks like a button because of rounded corners and some button like borders.

Answer: 
> 
> 
> > 
> > context.Authors.Where(a => a.Books.Any(b => b.BookID == bookID)).ToList(); 
> > 
> > 
> > 
> 
> 
> 

`a.Books` is the list of books by that author. The property is automatically created by Linq-to-Sql, provided you have a foreign-key relationship set up.

So, `a.Books.Any(b => b.BookID == bookID)` translates to "Do any of the books by this author have an ID of bookID", which makes the complete expression "Who are the authors of the book with id bookID?"

That could also be written something like

```
  from a in context.Authors
  join b in context.Books on a.AuthorId equal b.AuthorID
  where b.BookID == bookID
  select a;

```

UPDATE:
 `Any()` as far as I know, only returns a `bool`. Its effective implementation is:

```
 public Any(this IEnumerable<T> coll, Func<T, bool> predicate)
 {
     foreach(T t in coll)
     {
         if (predicte(t))
            return true;
     }
     return false;
 }

```
```
foreach (var item in model.Where(x => !model2.Any(y => y.ID == x.ID)).ToList())
{
enter code here
}

```

same work you also can do with `Contains`

secondly `Where` is give you new list of values.
thirdly using `Exist` is not a good practice, you can achieve your target from `Any` and `contains` like

```
EmployeeDetail _E = Db.EmployeeDetails.where(x=>x.Id==1).FirstOrDefault();

```

Hope this will clear your confusion.