2009-10-16 190 views
0

我正在使用.NET 2.0。我有两个对象,一个是PhoneService,另一个是ChartOfAccount。这与之间的关系很多。C中的多对多关系对象#

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是一个集合,我怎么学尝试把分配(),所以变成这样: 服务.ChartAccounts.Allocate()

我能想到的是将Allocate()方法放在Service类中。有任何想法吗?

谢谢

回答

1

虽然这可能不是最干净的方式,但您始终可以创建一个仅包含chartaccounts列表并将该方法添加到该类的ChartAccounts类。另一种选择是在chatAccount类上创建一个扩展方法来执行分配代码。

1

通常情况下,多数对象,如在数据库中,应该是它们自己的对象。

为什么不使用第三个对象来表示多对多的链接,而不是在对象中?

+0

我宁愿根据具体情况制作一个或另一个。 – dcpartners 2009-10-16 05:50:28