对数据库整数使用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提要将按预期工作。否则,它将失败。

什么线索吗?

对数据库整数使用WriteElementString

如果PersonId可为空,则需要先检查是否为空:

xfeed.WriteElementString("person_id", item.PersonId.HasValue 
                                    ? item.PersonId.Value.ToString() 
                                    : "null")   // or 0, or blank, or something
相关文章:
  • 没有找到相关文章