mẫu của tôi:EF-Code đầu tiên loại phức tạp với một tài sản hàng hải
public class Country
{
public int CountryId { get; set; }
public string Name { get; set; }
public virtual ICollection<User> Users { get; set; }
}
public class Location
{
public string Address { get; set; }
public virtual int CountryId { get; set; }
public virtual Country Country { get; set; }
}
public class User{
protected User()
{
Location = new Location();
}
public int UserId { get; set; }
public Location Location { get; set; }
}
Khi tạo cơ sở dữ liệu, tôi nhận được:
One or more validation errors were detected during model generation:
System.Data.Edm.EdmEntityType: : EntityType 'Location' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet �Locations� is based on type �Location� that has no keys defined.
Làm thế nào để có một tài sản điều hướng bên trong một loại phức tạp? Nếu tôi xóa thuộc tính điều hướng quốc gia, nó hoạt động tốt.
Nhưng còn về số nguyên 'CountryID' trong lớp' Vị trí' thì sao? Có thể làm cho một ràng buộc khoá ngoại không? (Tôi có một vấn đề tương tự và không thể làm việc đó) –
@Isak: Không, điều đó là không thể. Nếu bạn muốn có FK trong cơ sở dữ liệu, bạn phải làm điều đó trong cơ sở dữ liệu trực tiếp nhưng EF sẽ không phản ánh nó. –
Thực tế là điều này không được hỗ trợ được đề cập trực tiếp trong mô tả loại phức tạp trên MSDN: http://msdn.microsoft.com/en-us/library/bb738472.aspx –