对数据库整数使用WriteElementString
本文关键字:WriteElementString 整数 数据库 | 更新日期: 2023-09-27 18:06:02
我正在用c#更新一个XML创建类,它用于创建RSS提要。它包含以下代码:
private void BindUpcomingEvents(IQueryable<Event> eventList, FilterParams filterParams)
{
var pref = MarylandCalendar.Model.Helpers.Preferences.Preferences.Get();
var events = eventList.ToList();
.
.
.
// items
foreach (var item in events)
{
xfeed.WriteElementString("chair", item.chair);
.
.
.
//xfeed.WriteElementString("person_id", String.Format("{0}", item.PersonId);
//xfeed.WriteElementString("person_id", ((int)item.PersonId).ToString());
//xfeed.WriteElementString("person_id", item.PersonId.ToString());
//xfeed.WriteElementString("person_id", Convert.ToInt16(item.PersonId).ToString());
.
.
.
}
.
.
.
}
数据库nvarchar字段,如"chair"(见上文),在XML语句中写入没有问题。但是,我似乎无法编写包含int字段(如PersonId)的语句。你可以看到我的尝试(注释掉了),基于Stackoverflow上的其他帖子,以及互联网上的其他地方。如果我注释掉提取int字段的所有WriteElementString行,RSS提要将按预期工作。否则,它将失败。
什么线索吗?
如果PersonId
可为空,则需要先检查是否为空:
xfeed.WriteElementString("person_id", item.PersonId.HasValue
? item.PersonId.Value.ToString()
: "null") // or 0, or blank, or something