我想爲我的ASP.Net MVC應用程序評估實體框架。 我的公司向我們的客戶發送SQL數據庫,我們爲客戶提供工具來更改此數據庫。他們添加自己的領域,修改現有的領域(通常使他們更大),但他們不會刪除我們發貨的任何領域。他們也可以添加他們自己的表格。他們修改數據庫和描述每個表/字段的元數據表以及每個字段的自定義驗證信息。我們已經有工具可以將字段添加到數據庫並填充元信息表。 示例, 我們發送一個名爲「Patient」的表格。他們可以將名爲「LastVisitDate」的字段添加到該表中,然後他們在我們的FieldDefinitions表中使用元信息(例如Label =「Last Visit Date」,FieldType =「DateTime」,MinValue =「1/1/2000 」等) 鑑於這種情況,我們將基於XML文件在運行的UI(例如:(簡體)當客戶可以修改數據庫時,Entity Framework是否有用?
<fields>
<Patient.LastName>
<Patient.FirstName>
<Patient.LastVisitDate> <!-- Added by customer -->
<fields>
基本上,我們的每一次應用程序解僱了,我絕不可能確定表格結構是什麼(有數百個這樣的表格,但爲了清晰起見,我將它們排除在外)。
實體框架可用於這種情況嗎?我很欣賞任何方向,我不情願必須構建sql動態查詢以實現CRUD操作,但我不清楚如何使用EF來實現這一點。
感謝
這取決於你願意投入多少工作。如果您可以添加描述字段的屬性,則實體框架僅適用於此處。這需要動態創建類型定義並使用新的'DbModelBuilder'註冊它們。你熟悉「TypeBuilder」嗎?動態創建的類型可以從一個基類'Patient'類繼承,這樣你就可以擁有強類型的查詢('來自患者的上下文中的患者',其中patient.LastName ==「Doe」選擇患者)創建的字段。 – hvd 2012-04-11 19:50:22