[英]Localized tables and Entity Framework
我有一個場景,我需要在我的數據庫中的對象的本地化值。
假設您有一個可以創建動物的應用程序,如果用戶是英語,動物的“名稱”屬性的值將在UI中輸入為“貓”,而它將以法語輸入為“聊天”。
動物培養表將包含2個指向父表中相同動物的記錄。
當讀回值時,如果用戶文化中不存在“名稱”的值,則將使用默認值(最初創建對象的值)。 下圖演示了如何在SQL中存儲數據:
我正在嘗試使用實體框架將此模式映射到對象模型,我對於解決問題的最佳方法有點困惑。
EF適合這個嗎? 我應該使用EF4嗎?
.NET RIA Services將使用此EF模型。
謝謝,
Pierre-Yves Troel
我在類似情況下所做的是創建一個視圖說LocalizedAnimals,它是該2表結構的平面表示,並為該視圖創建了EF模型。 因此,當我需要顯示說法國動物數據時,我會過濾那些LocalizedAnimals並因此得到漂亮的簡單對象列表。
像這樣的東西:
var localizedAnimals = myContext.LocalizedAnimals.Where(
p => p.CultureName == Thread.CurrentThread.CurrentUICulture.Name
);
我不確定你是否想在數據庫中這樣做。 我認為使用定義特定於文化的名稱的配置文件或資源會更明智。
您還可以查看Microsoft有關國際化和本地化的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.