![](/img/trans.png)
[英]Entity Framework 6 FluentApi One-to-One Relationship configuration
[英]Not mapping ont-to-one Entity Framework FluentApi
在ReminderSetting中設置不映射。 為什么? 我嘗試獲取列表ReminderSetting,但他沒有映射嵌套對象Setting。 請幫我。
[Table("ReminderSetting")]
public class ReminderSetting
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int SettingId { get; set; }
public Setting Setting { get; set; }
public string Login { get; set; }
public bool Value { get; set; }
}
[Table("Settings")]
public class Setting
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Title { get; set; }
}
不工作
modelBuilder.Entity<Setting>();
modelBuilder.Entity<ReminderSetting>()
.HasRequired(x => x.Setting)
.WithMany()
.HasForeignKey(k => k.SettingId);
不工作
modelBuilder.Entity<Setting>();
modelBuilder.Entity<ReminderSetting>()
.HasRequired(x => x.Setting)
.WithRequiredPrincipal();
我認為以下應在ReminderSettings和Settings之間創建一對一關系:
[Table("ReminderSetting")]
public class ReminderSetting
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[ForeignKey("Setting")]
public int SettingId { get; set; }
public string Login { get; set; }
public bool Value { get; set; }
public virtual Setting Setting { get; set; }
}
[Table("Settings")]
public class Setting
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Title { get; set; }
public virtual ReminderSetting ReminderSetting { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ReminderSetting>()
.HasKey(r => r.SettingId);
modelBuilder.Entity<ReminderSetting>()
.Property(r => r.SettingId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<ReminderSetting>()
.HasRequired(r => r.Setting)
.WithRequiredDependent(s => s.ReminderSetting);
base.OnModelCreating(modelBuilder);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.