When you are pulling in a view for an entity framework model, at the time the storage model for the view is created, it automatically infers the keys for that storage model entity. Keys of a storage model entity should be able to uniquely identify a row in the underlying view. If inferred incorrectly it could result in unexpected behavior such as in your case.
Therefore as the first step you can check whether the correct keys has been inferred in the storage model entity for your view (Inferred keys should be able to uniquely identify a row in the view). You can do this by right clicking on the conceptual model entity for the view in the designer and selecting “Table Mapping”. In the mapping details pane on the left side, you will be able to see the columns and the keys of the storage model entity of your view. If the incorrect keys have been inferred you can try adding more columns to the view (especially the primary keys of the source tables) and see whether the entity framework infers the keys correctly.
Unfortunately if the keys are inferred incorrectly, the current version of entity framework won’t let you change keys of the storage model entities through the designer. You can only change the keys of the conceptual model entities. Though you can change the storage model keys by editing .edmx file, the changes will be lost each time the model synced with the database.
You can get more info and some workarounds from the following links,
http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/ea0bf748-bc97-439d-99b0-76180b2161bb[
^]
http://asheeshsoni.blogspot.com/2009/09/entity-framework-messes-up-primary-keys.html[
^]
Hope this information was helpful. Good luck!