2014-04-14 4 views
0

나는 DB 스키마, & 메신저 EF6 코드 첫 번째 마이 그 레이션을 사용하여. dbo.aspnetuser의 외래 키를 내 db의 기존 열 (MSSQL 사용)에 추가하려고합니다. 가능합니까? 그것을하는 방법?EF6 외래 키 DB의 기존 열

이동 파일을이 주소로 변경하면 작동하지 않습니다. 프린시 펄 키 열을 결정할 수 없어서 'consumer_id'열이있는 'dbo.AspNetUsers'테이블의 외래 키를 만들지 못했습니다. AddForeignKey 유창 API를 사용하여 외래 키를 완전히 지정하십시오.

CreateTable(
      "dbo.AspNetUsers", 
      c => new 
       { 
        Id = c.String(nullable: false, maxLength: 128), 
        UserName = c.String(), 
        PasswordHash = c.String(), 
        SecurityStamp = c.String(), 
        contact_firstname = c.String(), 
        contact_lastname = c.String(), 
        contact_phone = c.String(), 
        contact_phone2 = c.String(), 
        contact_email = c.String(), 
        country = c.String(), 
        state = c.String(), 
        city = c.String(), 
        street = c.String(), 
        postcode = c.String(), 
        longitude = c.Double(), 
        latitude = c.Double(), 
        consumer_id = c.Long(), 
        Discriminator = c.String(nullable: false, maxLength: 128), 
       }) 
      .PrimaryKey(t => t.Id) 
      .ForeignKey("dbo.fx_service_consumers", t => t.consumer_id, cascadeDelete: true); 

답변

0

개체를 테이블에 매핑하는 데 유창한 API를 사용하고 있습니까?

내가이 외국 사람 개체의 주소에 대한 키 매핑 사용 :이없는 것처럼 독서와 토론을 많이 한

this.HasRequired(t => t.PersonAddress).WithRequiredDependent() 
      .Map(m => m.MapKey("IdAddressColumnNameInUserTable")); 

내 객체

public class Person 
{ 
    public int id {get;set;} 
    public virtual Address PersonAddress {get;set;} 
} 

public class Address 
{ 
    public int id {get;set;} 
    public int city {get;set;} 
    ... 
} 
+0

안녕하세요, 유일한 것은 내 스키마에 다른 클래스가 없다는 것입니다, 그것은 DB에 있습니다. 나는 foreginkey없이 계속할 수 있었다. 감사합니다 – eyalewin

+0

@eyalewin 해결책을 올리시겠습니까? – georgiosd

0

을 것 같습니다 좋은 방법은 'dbo.AspNetUsers'테이블에 외래 키를 사용하여, 나는 외래 키없이 계속 관리하고 나에게 잘 작동합니다.

관련 문제