2011-06-22 66 views
0

假設我想創建一個名爲Customer-Order的表格,就像我希望每個客戶在運行時擁有自己的表格然後在EF4中正常使用它一樣。在EF4中動態創建表格並使用它

我使用POCO的代碼優先方法。

在EF4中是否可行?任何想法如何實現?

在此先感謝爲直接我做到這一點的任何建議或信息...

+0

對不起,沒有詳細的答案,但請參考[ADO.NET團隊博客](http://blogs.msdn.com/b/adonet/)。它會幫助你。 –

+0

我對你在這裏想要完成的事情有點困惑。你想在運行時動態創建表,然後使用EF4在該表上運行查詢? – Jethro

回答

0

表的名稱是由映射定義。基本上如果你有一些代碼將提供正確的表名映射它應該是理論上可能的。實際上這是錯誤的做法。模型在被上下文使用之前必須被編譯。在正常情況下,只在上下文首次使用時編譯模型,然後在內部進行緩存和重用,因爲編譯模型是EF中性能成本最高的操作(對於大型模型,可能需要幾十秒),我認爲它也是內存中的數據結構非常龐大。如果您想要更改每個客戶的單個表格的映射,則您需要爲每個客戶特別編譯模型,並且您只能爲該客戶使用該模型。這將是很難處理。