First of all, fascinating project.
I do have a question though. Currently in VS 2008 Beta 2 there is a new item which is LINQ to SQL which creates a couple files including a mapping to the database which can be queried using LINQ. You also get a design surface that looks similar to the
Entities Design Surface.
What are the differences between the two (ie, why do they both exist) and why would one use one or the other?
Excellent question. It seems like MS has been trying to give us an O/R Mapping type product/services since the Object Spaces annoucment. Since then it has been false start after false start. I remember that Italian guy doing a C9 demo on Object Spaces years
ago... where did he go?
Now, it seems like you have two competing technologies that actually might ship.
I see alot of overlap between the two and also each has some features the other doesn't have.
Do these two teams know about each other? Why not merge the projects and come up with a single, consistent set of libraries to solve the problem of moving data from relational to object model.
Also, is there an Object first design paradim that you can do. I understand why all of these demos reverse engineer a db... but, can I create an object model first and then have in create my schema for me?
The LINQ to SQL objects also have partial method hooks that allow you to add business rules/validations to them. Is there anything like that in the Entities? Are the entities designed to also be the DTO's or are the entities just a way to tell link how to shape
the objects that are returned from queries.