【发布时间】:2017-09-18 22:07:58
【问题描述】:
背景信息:
目前正在开发一个程序,其中我有一个用于存储信息的自定义数据模型。需要将数据模型 1 添加到包含数据模型 1 的列表属性的新对象数据模型中。
问题:
目前有一个函数可以从电子邮件中解析出信息并将数据放入 Act_Email 数据中。一旦函数完成,它会将 Act_Email 的对象返回给调用它的函数。但是,我想根据我的 Act_Email 创建一个对象列表。目前,在我开始将我的 Act_Email 对象实际添加到应该包含我的 Act_Email 对象列表的另一个对象之前,以下代码运行良好。
Act_Email
namespace ActivityCrawler.Models
{
class Act_Email
{
public string ActivityID { get; set; }
public string ActivityBody { get; set; }
public string ActivityThreadIndex { get; set; }
public string ActivityMessageID { get; set; }
public string ActivitySubject { get; set; }
public string ActivityWebLink { get; set; }
public string BulkEmail { get; set; }
public string CampaignID { get; set; }
}
}
namespace ActivityCrawler.Models
{
class ActivityDBCollection
{
public List<Act_Email> MinedEmailData { get; set; }
public List<Act_DHG_Staff> MinedDHGStaffData { get; set; }
public List<Act_Header> MinedHeader { get; set; }
public List<Act_Attachments> MinedAttachmentData { get; set; }
public List<Act_Notes_Tasks> MinedNotes_TaskData { get; set; }
public List<Act_Crm_Leads_Contacts> MinedContact_Leads_Data { get; set; }
}
}
public static Act_Email Extract_Act_Email(UnparsedData recordList)
{
Act_Email parsedData = new Act_Email();
try
{
if (recordList.ActivityType != "Notes")
{
parsedData.ActivityWebLink = recordList.ActivityWebLink;
parsedData.ActivityBody = recordList.ActivityBody;
parsedData.ActivityID = recordList.ActivityHeaderID;
parsedData.ActivityMessageID = recordList.ActivityUniqueID;
parsedData.ActivitySubject = recordList.ActivitySubject;
parsedData.ActivityThreadIndex = recordList.ActivityParentId;
}
}
catch (Exception ex)
{
throw;
}
return parsedData;
}
static void Main(string[] args)
{
ActivityDBCollection DBData = new ActivityDBCollection();
Act_Email minedEmailData = Helpers.DataParsers.Extract_Act_Email(emailDataModel);
DBData.MinedEmailData.Add(minedEmailData);
}
【问题讨论】:
-
您正在创建一个 Act_Email 对象“minedEmailData”,然后尝试添加代码中不存在的 minedContact_Leads_Data 还是我遗漏了什么?
-
@simon 抱歉,我修复了代码,但这是我得到一个对象的想法,我想将它添加到另一个对象中,该对象将包含我的对象列表
-
试试 dpimente 的建议。如果这不起作用,请尝试将 ActivityDBCollection 中的列表设为虚拟,例如公共虚拟列表
MinedEmailData { get;放; }
标签: c# data-modeling