0
我有一類用戶:EF一到一個沒有工作
[Table("User")]
public class User {
public User() {
BusinessNumber = new BusinessNumber();
}
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string Username { get; set; }
[Required]
public virtual BusinessNumber BusinessNumber { get; set; }
}
而且BusinessNumber:
public class BusinessNumber {
public BusinessNumber() {
Subscribers = new List<SubscriberNumber>();
}
[Key, ForeignKey("User")]
public int UserId { get; set; }
public string Sid { get; set; }
public string PhoneNumber { get; set; }
public string VenueName { get; set; }
public virtual User User { get; set; }
public List<SubscriberNumber> Subscribers { get; set; }
}
public class SubscriberNumber {
public SubscriberNumber() {}
[Key]
public int SubscriberNumberId { get; set; }
public string PhoneNumber { get; set; }
}
用下面的映射:
public class NumberConfiguration : EntityTypeConfiguration<BusinessNumber> {
public NumberConfiguration() {
HasKey(c => c.UserId);
Property(c => c.UserId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
HasRequired(c => c.User).WithRequiredDependent(s => s.BusinessNumber);
}
}
下面的代碼結果在新的BusinessNumber中,沒有提供Id。如果我檢查數據庫,我看到標識1
用戶和ID爲1
一個BusinessNumber,但user.BusinessNumber.Id爲0
var user = db.Users.First(s => s.Username == username);
我使用Include
但得到的多重錯誤的嘗試:
var user = db.Users.Include(s => s.BusinessNumber).First(s => s.Username == username);
我在做什麼錯?