我正在使用.NET 2.0。我有两个对象,一个是:PhoneService,另一个是ChartOfAccount。这与之间的关系是多对多的。
public class PhoneService
{
private List<ChartAccount> chartAccounts
private ChartAccount chartAccount
public Int64 ID
{
get { return id; }
set { id = value; }
}
public bool Add()
{ ... }
public bool Update()
{ ... }
}
public class ChartAccount
{
public Int64 ID
{
get { return id; }
set { id = value; }
}
public bool Add()
{ ... }
public bool Update()
{ ... }
public bool Allocate()
{
// this will save data for the bridge table only
}
}
现在我的问题是,当你这样做时有可能:
PhoneService service = new PhoneService();
service.ChartAccounts[0].ID = 5
service.ChartAccounts[1].ID = 10
由于 ChartAccounts 是一个集合,我如何尝试将Allocate()变为如下: service.ChartAccounts.Allocate()
我能想到的只是将Allocate()方法放在Service类中。有什么想法吗?
由于
答案 0 :(得分:1)
通常,多对多对象(如数据库中)应该是对象本身。
为什么不使用第三个对象代表多对多链接而不是对象呢?
答案 1 :(得分:1)
虽然这可能不是最干净的方法,但您始终只需创建一个ChartAccounts类,该类仅包含一个chartaccounts列表并将该方法添加到该类。另一种选择是在chatAccount类上创建一个扩展方法来执行分配代码。