要快速獲得在它的型號是:爲什麼我的實體框架應用程序工作?
public class foo{
public int ID;
[Required]
public bla bla;
}
public class bla{
public int ID;
public string test
}
基本上,這工作正常,並符合市場預期。
我的應用程序是一個正常的應用程序 - 我有一個列表bla
的每個都與foo
相關聯。
我有一個包含Foos列表的頁面,並且有人可以點擊一個將顯示與該Foo關聯的每個bla的頁面。
的代碼具有富的ID傳遞給它的是:
bla bla = db.bla.Where(x=>x.id == id);
db.foo.Where(x=>x.bla == bla);
但是,我真的很想與FluentAPI實驗,而且,我用了以下內容:
modelBuilder.Entity<foo>()
.HasRequired(x => x.bla)
.WithOptional()
.WillCascadeOnDelete();
我從查看數據庫模式中猜測,我無意中創建了一對一關係,因爲bla_id
列不存在。但是,我真正不明白的是,我的應用程序如何繼續工作而無需修改? (都是這樣,我只能創建一個最大每個bla一個foo)。
我真的不明白爲什麼WithOptional
意味着一對一 - 這實際上讓我感到很緊張,因爲不同選項(和MSDN)的工具提示意味着兩個選項之間的信息非常相似(如果不是相同的話)。這使得學習非常困難。
另外,我是否認爲FluentAPI會完全覆蓋模型註釋?
最後,我一直在這裏苦苦掙扎。有誰知道FluentAPI的備忘單/清單嗎?