private static ReadOnlyCollection <EdmMember> GetInterestingMembers(MetadataWorkspace csWorkspace, EntitySet entitySet, EntityType entityType) { // Note that this delegate is not used to determine whether reference columns are interesting. They // are intrinsically interesting and do not appear in this set. HashSet <EdmMember> interestingMembers = new HashSet <EdmMember>( csWorkspace.GetRelevantMembersForUpdate(entitySet, entityType, true)); // keys are also interesting... foreach (EdmMember keyMember in entityType.KeyMembers) { interestingMembers.Add(keyMember); } ReadOnlyCollection <EdmMember> result = interestingMembers.ToList().AsReadOnly(); return(result); }