The answer is yes: You can add non-persistent properties to an EF model, but not through the designer.
The generated models are all
partial
classes, which means you can spread the full class implementation over several files. Let's say you have an Entity called
Foo
. You can add a file to the project called Foo.cs like this:
namespace MyNameSpace
{
public partial class Foo
{
public string MyNonPersistantProperty {get; set; }
}
}
Note that both the type name and namespace name must match the one in the EF class. [edit] You should be able to mark these up as data contract properties. I only really answered the final part of your question, sorry!