+2  A: 

I've hit the same issue and while I haven't found a solution for 3.5SP1 I did confirm that this error goes away with EF 4.0.

Actually, a potential workaround for you would be to use a different field for the primary key in your PhotoDetails entity.

Craig Fisher
By "different field for the primary key", do you mean just give it a different name, but use the same underlying database column, or add a new column to the database, and use that?
Zhaph - Ben Duguid
Sadly, I've now tried both options: renaming the scalar property on the entity, which results in the same error message (The order of the columns through the mappings is not preserved), Adding a new column to the database, exposing that in both entities, and using it as the key caused errors along the lines of "You haven't used the Entity Key PhotoID in PhotoDetails". I fear I'm going to have to rework the live database - yay for LinqPad, down with cursors ;)
Zhaph - Ben Duguid
I meant add a new column to the database and use that.
Craig Fisher