gpt4 book ai didi

c# - DDay ical - 使用 Nhibernate 将事件数据保存到数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:39:06 24 4
gpt4 key购买 nike

我的应用程序需要日历信息,我想使用与 .ical 兼容的格式/架构,以便它可以与其他日历系统集成。

DDay iCal似乎是唯一可以执行此操作的 .Net 库。

但是我没有看到任何将对象保存到数据库的方法。我正在使用 Nhibernate,所以我想要一种自然的方式来执行此操作。

有人做过吗?我是否遗漏了 DDay iCal 库中的内容?有什么建议吗?

我唯一的选择是修改源代码吗?

最佳答案

( Don't use dday.ical ;使用 ical.net 。它包含许多性能增强和错误修复。)

我对 NHibernate 一无所知,但 icalendar 是一种序列化格式。您可以只发出代表您的日历及其事件的 ical-serialized 文本。

这是来自 ical.net 的工作示例维基:

var now = DateTime.Now;
var later = now.AddHours(1);

//Repeat daily for 5 days
var rrule = new RecurrencePattern(FrequencyType.Daily, 1) { Count = 5 };

var e = new Event
{
DtStart = new CalDateTime(now),
DtEnd = new CalDateTime(later),
RecurrenceRules = new List<IRecurrencePattern> { rrule },
};

var calendar = new Calendar();
calendar.Events.Add(e);

var serializer = new CalendarSerializer(new SerializationContext());
var serializedCalendar = serializer.SerializeToString(calendar);

这将发出可使用您希望的任何框架存储在数据库中的序列化文本。序列化文本看起来像这样:

BEGIN: VCALENDAR
VERSION:2.0
PRODID: -//github.com/rianjs/ical.net//NONSGML ical.net 2.1//EN
BEGIN:VEVENT
DTEND:20160704T172520
DTSTAMP:20160704T162520
DTSTART:20160704T162520
RRULE:FREQ=DAILY;COUNT=5
SEQUENCE: 0
UID: f4693a88-0a57-4761-b949-8822b8a507d2
END:VEVENT
END:VCALENDAR

关于c# - DDay ical - 使用 Nhibernate 将事件数据保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27738015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com