我正在移動實體框架4.0中的第一步,而且我目前正面臨一個煩人的問題。在自動生成的實體類中缺少導航屬性
我的應用程序的認證/授權過程是基於標準的ASP.NET成員資格提供,換句話說,該數據庫是衆所周知的ASPNETDB.MDF。在這個數據庫中,除了別的以外,還有表aspnet_Users和aspnet_Roles,它們通過表aspnet_UsersInRoles鏈接在一起。
我產生了新的「ADO.NET實體數據模型」,我選擇了從數據庫生成,我提供了所有必要的參數,對我產生相對.edmx文件嚮導。我將其命名爲「SecurityModel」。在aspnet_User實體中,我可以看到有一個導航屬性應該檢索所有鏈接的角色,反之亦然。
在這一點上,我添加了一個新的「域服務」,在我的情況SecurityDomainService。 當我被問到時,我選擇了SecurityModel及其包含的所有表。 即使在這種情況下,嚮導也會爲我生成SecurityDomainService。
顯然沒有問題。但是,我意識到在實體aspnet_User中,我擁有所有導航屬性(Membership,Profile,Applications等),但角色。
我在某處讀到EntityFramework不處理多對多的關係。但是我可以在我的實體數據模型中看到aspnet_Roles和aspnet_Users之間存在關聯,並且它基於aspnet_UsersInRoles。我還可以在數據模型設計器中看到用戶實體中的「角色」導航屬性。
所以,我的問題是爲什麼還沒有生成此導航屬性?
在此先感謝您的幫助。 乾杯, G.