1
(因爲我有一個預定義的數據庫,我不能讓EF重新創建它)。EF 4.2代碼首先,如何使用流暢的API進行映射?
這我現在用的(作品,但我想用流利的API來重寫)的映射:
public class League
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid LeagueId { get; set; }
....
#region References
public virtual ICollection<News> News { get; set; }
#endregion
}
public class News
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid NewsId { get; set; }
public Guid LeagueId { get; set; }
....
#region References
[ForeignKey("LeagueId")]
public virtual League League { get; set; }
#endregion
}
現在,如何可以使用流利的API映射我這個?
更新 寫了這個,它的工作原理,但有一個更簡單的版本?
modelBuilder.Entity<League>().HasMany(x => x.News).WithRequired(y => y.League).HasForeignKey(c => c.LeagueId);
更新2 我說那些來自班失蹤。但問題是,如果我放棄它並嘗試它,它會失敗。我需要在某處指定一個鍵。我不能讓EF創建數據庫,它拒絕只用表操作。
更簡單的版本是什麼也不做,讓約定創建關係。使用Fluent API,您的更新就是答案。順便說一句:你在'....'中隱藏了太多的東西來正確回答你的問題。 「聯賽」類中的「新聞」屬性在哪裏,「新聞」類中的「聯盟ID」在哪裏?現在只有您的更新清楚。 – Slauma
更新了缺少的信息。問題是EF不會創建表格。它想要訪問它不能擁有的整個數據庫。 – Patrick
問題是什麼?我更新後丟失2. –