2012-02-22 70 views
2

我用XAF(DevExpress的框架)爲我的第一個應用程序(這是一個CMS)。有一個調度程序組件。 而且,它節省了像xml這樣的事件的復發。例如:避免解析XML領域在數據庫

<RecurrenceInfo Start="02/21/2012 09:00:00" End="02/28/2012 11:30:00" Id="e8507496-2be9-4bde-90a6-9eeea98fdc5a" Range="2" /> 

這是範圍枚舉(但也有一些其他枚舉存在):

public enum RecurrenceRange { 
     NoEndDate, 
     OccurrenceCount, 
     EndByDate 
    } 

另外,我有另一個應用程序(ASP.NET MVC)。我需要選擇特定日期或時段的活動(今天,明天,當前月份和其他)。

在一個表中,該pproblem將是10000(例如)記錄,然後我需要解析他們都找到請求日期的事件。我認爲這是降低性能。

你看到什麼解決辦法嗎?

我想做到以下幾點:在創建事件(在CMS),然後在表中添加一些持久字段並programmaticaly填補他們。

它是如何更好地創建用於存儲該數據的字段?

還有一個問題。例如,活動將在每週五點和八點進行。調度會在表中創建兩個記錄:

​​

,該計劃再創建一個記錄的所有領域的問題,等於除了RecurrenceInfo。 我想創建一個更多的ID列,並分配相同的值所有重複的記錄。

感謝和抱歉,我的英語水平。

回答

2

,您可以撥打Xml typed column並使用如下因素查詢

select 
    (list of fields) 
from 
    MyTable 
where 
    MyXmlField.value('(/root[Start])', 'datetime') > '01.01.2001' 
+0

類型RecurrenceInfo場的數據類型爲nvarchar,我不能改變它。 – user348173 2012-02-22 05:07:16

+0

您可以添加drigger,並將xml添加到您的另一個帶有XML列的表中,或者將XML解析並將其放到Start End datetime列中 – 2012-02-22 05:32:55