Basically you'll lose querying support, lazy-loading, IntelliSense, etc. For example, you won't have things like this if you delete the association between Users and Questions:
from u in context.Users
where u.Questions.Count > 2
select u;
The point of LINQ is to provide you with all the constructs necessary to implement a relational database model within your C# code enabling you to query that model. If you delete all the associations/relationships LINQ to SQL loses it's purpose.
Regarding the Exception you got:
If the association property is
assigned a value you cannot change the
foreign key field anymore, you must
change the relationship by changing
the association property. For
example, using Customer and Order from
Northwind sample database. If the
'Customer' property on an order is
assigned a value you can no longer
manually change the order's CustomerID
field, since it must match the PK of
the customer. You can, however,
change the 'Customer' property
directly, assigning it a new customer
instance. This action will
automatically update the CustomerID
field to match. By Matt Warren (LINQ to SQL architect)
This is what you need to do to solve your problem:
LINQ to SQL ForeignKeyReferenceAlreadyHasValueException error
For LookUps and LINQ, do this:
LINQ, Lookups, ForeignKeyReferenceAlreadyHasValueException
Use this code for example when binding a combobox:
With cboCategory
.DataSource = From Category In db.Categories Order By Category.Name
Select Category
.DisplayMember = "Name"
.ValueMember = "ID" don't set value member: http://tinyurl.com/d9etoy
.DataBindings.Add(New Binding("SelectedItem", ItemBindingSource, "Category"))
End With