Если вы можете отказаться от использования Entity Framework, вы можете использовать Fluent NHibernate + AutoMapping. http://wiki.fluentnhibernate.org/Auto_mapping
Или вы можете использовать Linq 2 SQL, украсив вашу сущность атрибутами.
Как:
[Table(Name="Product")]
public class Product
{
[Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert]
internal int Id {get;set;}
[Column]
public string Name {get;set;}
}
Затем получите к нему доступ, используя dbcontext, например:
ctx.GetTable<Product>().SingleOrDefault(x=>x.Id == 1);
В том же духе написал это мне на голову, но ты понял суть.
Я бы использовал Fluent + AutoMapping.