Here is the simple case.
I have a Customer record defined like this:
 public class Customer
   {
      [Key]
      public string Id { get;}
      public UsState UsState { get; set; }
   }
 public class UsState
   {
      [Key]
      public string  StateAbbreviation {get;set;}
      public string  StateName {get;set;}
   }
I already have my UsState's populated with the 50 states, now I want to insert one Customer record that ties to an existing state.
If I say something like:
Customer customer = new Customer() 
             {
                UsState = "CA",
                Id = 1001
             }
dbContext.Customers.add(customer);
I get an error saying state is trying to be inserted again.
How can I get the add to use an existing state and not try and re-insert it. My real problem has lots of nested objects that may exist so I need to solve this in general.
Thanks