0

我正在尝试在我使用一个商业 ORM 的小项目上使用 IoC。

我的实体“项目”上有“用户”实体的集合。当我将接口传递给方法时,我无法将 eobject 添加到“用户”实体的集合中,因为它由一些 ORM EntityCollection 类表示。

例子:

//'this' is a partial class to the modeled Entity<int>
public void AddToCollection(IUser user)
{
    this.Users.Add(user); //this.Users is type of EntityCollection.
}

我在这里看到了两种可能性,但我不知道哪一种是最佳实践。

  1. 将 EntityCollection 更改为 IEnumerable(这是不可能的)
  2. 将 IUser 转换为用户

或者我可能在 IoC 上走错了路,这里的最佳做法是什么?

4

2 回答 2

0

至于我,对实体使用接口并不是一件好事。更喜欢基类。最良好的问候

于 2012-07-21T15:58:24.237 回答
0

投掷。例如:

//'this' is a partial class to the modeled Entity<int> 
public void AddToCollection(IUser user) 
{   
     if ( user is User )  
         this.Users.Add( (User)user ); 
     else
         throw new ArgumentException();
} 
于 2012-07-21T16:00:48.000 回答