I have an existing table (that is in SQL server) that I need to use in my solution that has no primary key. It has a unique field that it uses as the key but was never set up a
If the field contains unique data you can mark it as Key in EF and disable all automatic migrations. It should work.
EDIT
You have to disable all the migrations because if EF tries to build missing objects it won't be able.
At the end you will not have the most performant database and also you need to implement referential integrity constraints by yourself.
EDIT2
The problem here is SQL Server because EF is trying to create the relationship from PTEInteractiveCourse.STCIProductInteractiveInfoID to STCIProductInteractiveInfo that does not really have a primary key (EF thinks it has but it is not true). You should try to disable all the automatic migrations. Look here to do so How can I disable migration in Entity Framework 6.0