0
이것은 간단해야합니다.Entity Framework 데이터베이스 업데이트 : 외래 키 참조 잘못된 열 (탐색 속성)
public class Client
{
public int ClientID { get; set; }
public string ClientName { get; set; }
public virtual ICollection<Project> Projects { get; set; }
}
public class Project
{
public int ProjectID { get; set; }
public string ProjectName { get; set; }
}
모든 것을 잘 작동 :
나는 클라이언트와 프로젝트가 있습니다. 내 Projects 테이블에는 Client_ClientID 필드가 있습니다.
이Foreign key 'FK_dbo.Projects_dbo.Clients_Client_ClientID' references invalid column 'Client_ClientID' in referencing table 'Projects'
용장 SQL과 같이 표시됩니다 : 나는 업데이트-데이터베이스를 실행하면
public class Project
{
public int ProjectID { get; set; }
public string ProjectName { get; set; }
// navigation properties
public virtual Client Client { get; set; }
}
, 나는 오류를 얻을 :
는 이제 클라이언트로, 프로젝트의 탐색 속성을 추가 할 :
EXECUTE sp_rename @objname = N'dbo.Projects.Client_ClientID', @newname = N'Client_ClientID1', @objtype = N'COLUMN'
ALTER TABLE [dbo].[Projects] ADD CONSTRAINT [FK_dbo.Projects_dbo.Clients_Client_ClientID] FOREIGN KEY ([Client_ClientID]) REFERENCES [dbo].[Clients] ([ClientID])
단점을 추가하기 전에 왜 Client_ClientID의 이름을 Client_ClientID1로 바꾸려고하는지 잘 모르겠습니다. 그것에 traint - 이상한 것?
무엇이 잘못 되었나요?
감사합니다. 왜냐하면 나는 그걸로 시작하지 않았기 때문에, "Client_ClientID"라는 이름을 FK 필드로 사용했습니다. 테이블을 삭제하고 __MigrationHistory를 삭제 한 다음 Update-Database -Force를 실행하여 위와 같이 스키마를 다시 만들어야했습니다. 이제는 작동하는 것 같아요, 자동으로 연쇄 적으로 삭제됩니다 (수동 응용 프로그램을 제거 할 수 있음). 완전한! – Sean