2011-10-31 77 views
1

要快速獲得在它的型號是:爲什麼我的實體框架應用程序工作?

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的備忘單/清單嗎?

回答

相關問題