I'm pretty much brand new to Entity Framework and to ASP.NET MVC (and still learning C#), so please forgive me if some of my terminology isn't right here.

Simply, I have installed Entity Framework in my ASP.NET MVC project which I'm hoping to use to create a Web API to serve up an XML list of records. Entity Framework created my entity classes.

In my controller, I can get an XML list by using this code:

```
public IEnumerable<Person> GetAllPersons()
{
        IEnumerable<Person> person;

        using (var context = new ContactsContext())
        {
            context.Configuration.ProxyCreationEnabled = false;
            person = context.People.ToList();
        }

        return person;
}

```

This is great.

However, what if I only want to return certain properties of the `Person` object? What if I just want, for example, the `FirstName` and `LastName` properties?

I've found examples using things like

```
person = (from p in context.People
          select new { p.FirstName, p.LastName })

```

But this presents problems. Doing this means that my `IEnumerable` list is no longer a list of type `Person`. If I change the type to `dynamic` it will at least compile, but the problem with that is that it doesn't display in the browser successfully, presumably because the XML deserialiser no longer knows what the structure of the object is.

Is there really no way of just returning certain properties of the object which I specify, whilst still conveying the fact that it is, in fact, a `Person` object which I'm returning? And, if not, how would I go about just returning certain properties of the object in a format which the browser can interpret as XML?