返回不同版本的数据集
Returning different versions of set of data
所以我有一个 class 和一个静态方法,该方法使用 EF 检索特定的邮件列表集并映射到 class。
public static List<MailingList> GetMailingListsForUser(IUsersAccess user, IProspectorDataSource db )
{
return db.MailingLists.Where(x => x.UserID == user.UserID).ToList()
.Select(y => new MailingList(y, db) ).ToList();
}
现在虽然我有一个程序可以 return MailingList 加上一些额外的东西。我不想将这些额外的列(将在其他部分和功能区域中使用)添加到此 class。解决这个问题的最佳方法是什么?
我正在考虑一个工厂模式,它将生成一个不同的 class,它根据需要实现不同的契约(接口)。将尝试实施它,完成后将 post code/working。
想知道其他人在这种情况下做了什么,是否有更好的方法来解决这个问题。
编辑:(一些额外的信息可以帮助人们理解我的意思)。
public class MailingList
{
public int MailingListID { get; set; }
public string Name { get; set; }
public string Comments { get; set; }
public List<string> Tags { get; set; }
public int UserID { get; set; }
public System.DateTime DateCreated { get; set; }
public string CreatedBy { get; set; }
public System.DateTime LastModified { get; set; }
public string ModifiedBy { get; set; }
public List<MailingListAddress> MailingListAddresses { get; set; }
也就是我们return定义的一个对象。现在有一个新实例,我要从 proc 中 return 一些额外的列并映射到 MailingList。所以我可以将属性添加到此处,但问题是 MailingListAddresses 将为空,因为它们不会被存储过程 returned。那么有没有一种方法可以映射到特定的属性,而不必每次都为前端的 MailingListAddresses return null。
这是由最终采用工厂模式的高级开发人员解决的。我会在回去工作时添加代码:)
所以我有一个 class 和一个静态方法,该方法使用 EF 检索特定的邮件列表集并映射到 class。
public static List<MailingList> GetMailingListsForUser(IUsersAccess user, IProspectorDataSource db )
{
return db.MailingLists.Where(x => x.UserID == user.UserID).ToList()
.Select(y => new MailingList(y, db) ).ToList();
}
现在虽然我有一个程序可以 return MailingList 加上一些额外的东西。我不想将这些额外的列(将在其他部分和功能区域中使用)添加到此 class。解决这个问题的最佳方法是什么?
我正在考虑一个工厂模式,它将生成一个不同的 class,它根据需要实现不同的契约(接口)。将尝试实施它,完成后将 post code/working。
想知道其他人在这种情况下做了什么,是否有更好的方法来解决这个问题。
编辑:(一些额外的信息可以帮助人们理解我的意思)。
public class MailingList
{
public int MailingListID { get; set; }
public string Name { get; set; }
public string Comments { get; set; }
public List<string> Tags { get; set; }
public int UserID { get; set; }
public System.DateTime DateCreated { get; set; }
public string CreatedBy { get; set; }
public System.DateTime LastModified { get; set; }
public string ModifiedBy { get; set; }
public List<MailingListAddress> MailingListAddresses { get; set; }
也就是我们return定义的一个对象。现在有一个新实例,我要从 proc 中 return 一些额外的列并映射到 MailingList。所以我可以将属性添加到此处,但问题是 MailingListAddresses 将为空,因为它们不会被存储过程 returned。那么有没有一种方法可以映射到特定的属性,而不必每次都为前端的 MailingListAddresses return null。
这是由最终采用工厂模式的高级开发人员解决的。我会在回去工作时添加代码:)